Этот проект реализует различные деревья поиска на Kotlin, включая:
- Обычное двоичное дерево поиска (BST)
- Красно-черное дерево (Red-Black Tree)
- AVL-дерево
com/example/datastructures/
│── common/ # Общие интерфейсы и класс узла
│ ├── Tree.kt # Интерфейс для деревьев
│ ├── Node.kt # Класс узла (если необходим)
│
│── trees/ # Реализации различных деревьев
│ ├── BinarySearchTree.kt # Реализация BST
│ ├── RedBlackTree.kt # Реализация красно-черного дерева
│ ├── AVLTree.kt # Реализация AVL-дерева
│
└── test/ # Юнит-тесты для деревьев
├── TreeTest.kt
├── BSTTest.kt
├── RedBlackTreeTest.kt
├── AVLTreeTest.kt
git clone https://github.com/alken1t15/datastructures.git
cd datastructuresИспользуйте Gradle для сборки проекта:
gradle buildgradle testВы можете создать и использовать любое дерево следующим образом:
import com.example.datastructures.trees.BinarySearchTree
fun main() {
val bst = BinarySearchTree<Int, Int>()
bst.insert(5, 10)
bst.insert(3, 22)
bst.insert(7, 7)
println("Поиск 10: ${bst.search(5)}") // Вернет значение 10
println("Поиск 20: ${bst.search(3)}") // Вернет значение 22
}✅ Двоичное дерево поиска (BST) – Вставка, удаление, поиск элементов.
✅ Красно-черное дерево – Самобалансирующееся дерево с логарифмическими операциями.
✅ AVL-дерево – Еще одно сбалансированное дерево с гарантированной сложностью O(log n).
✅ Юнит-тесты – JUnit 5 тесты для каждой реализации дерева.
Этот проект распространяется под лицензией MIT.