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