Team #8's project on binary trees.
Three trees are implemented in this library: Red-Black, AVL and Binary Search Tree.
- Aleksey Dmitrievtsev - Red-Black Tree
- Gleb Nasretdinov - AVL Tree
- Azamat Ishbaev - Binary Search Tree
- Kotlin 1.9.22
- JDK 17
- Gradle 8.6
Three trees are implemented, choose which one you want. Standard methods are implemented in each tree:
set(key,value)- Associates the specified value with the specified key in the tree.remove(key)- Removes the specified key and its corresponding value from the tree.get(key)- Returns the value corresponding to the given keyiterator()- Iteration by key-value pairs in order of keys
There are also many others methods:
setIfAbsent(key,value)getOrDefault(key, defaultValue)getOrSet(key,defaultValue)min()max()isEmpty()isNotEmpty()containsKey(key)clear()
AVL and Red-Black trees are self-balancing
Suggestions can be made in code review or Issues on GitHub
The library is distributed under the GNU GPLv3 licence