This library provides the ability to store key-value pairs in trees of three types:
- Unbalanced binary search tree.
- AVL-Tree.
- Red-black tree.
- Functionality
- File structure
- How to use
- Technologies used in the library
- Our team and responsibility areas
- Project status
- Contributing
- License
You can store values of any types by keys of comparable type. Each tree provides you to:
- Insert values.
- Change inserted value by key.
- Search value by key.
- Delete value.
- Iterate through tree.
src
├──main/kotlin
│ │
│ ├── nodes
│ │ ├── TreeNode.kt # Node of abstract binary tree and BST class
│ │ ├── UnbalancedBSTNode.kt # Node of Unbalanced BST class
│ │ ├── AvlNode.kt # Node of AVL-tree class
│ │ ├── RBTreeNode.kt # Node of RB tree class
│ │
│ ├── trees
│ │ ├── UnbalancedBSTree.kt # Unbalanced BST class
│ │ ├── AvlTree.kt # AVL-tree class
│ │ ├── RBTree.kt # RB tree class
│ │ ├── abstractTree
│ │ ├── AbstractTree.kt # Abstract binary tree class
│ │ ├── TreeIterator.kt # Tree iterator class
│
├──test/kotlin
│ │
│ ├── UnbalancedBSTTests.kt # Unit tests of Unbalanced BST
│ ├── AvlTests.kt # Unit tests of AVL-tree
│ ├── RBTreeTests.kt # Unit tests of RB tree
│ │
See DOCS.md
- Kochergin Vyacheslav - Unbalanced binary search tree. GitHub, Contact.
- Marchenko Vadim - AVL-tree. GitHub, Contact.
- Kuznetsov Dmitry - Red-black tree. GitHub, Contact.
Released.
See CONTRIBUTING.md
See LICENSE.md