Данная программа реализует методы интерфейса Map (не наследуется от встроенного интерфейса Map) при помощи структур B и B+ деревьев. Временная сложность алгоритма O(log(n)).
Реализована в рамках дисциплины "Архитектуры и структуры данных" факультета Компьютерных Наук Воронежского Государственного Университета
java (root catalog)
--- map (package)
------ BPlusTreeMap.java
------ BTreeMap.java
------ IMap.java (interface)
--- TreantGenerator (package)
------ AbstractTreantGenerator.java
------ AbstractTreeTreantNode.java
------ iTreeMapGenerator (package)
--------- TreantTreeIMapGenerator.java
--------- TreeTreantNode.java
Пройдемся по структуре, чтобы понять, как тут все работает. Есть два крупных пакета:
map
TreantGenerator
В пакете map хранится код двух деревьев + интерфейс, чтобы сразу приступить к работе. Просто создай
экземпляр нужного дерева у себя в проекте и автоматически получишь полностью рабочую Map со всеми преимуществами
В лругой директории хранится генератор кода для фреймворка Treant.js, он позволяет прямо из Java,
собрав простой обработчик структуры, построить любое дерево. Я уже разработал сам сборщик и
написал обработчик для структуры IMap - все остальное на Вашей совести.
Название | Источник |
---|---|
Wikipedia (B Tree) | Тык сюда |
Wikipedia (B+ Tree) | Тык сюда |
B Tree Visualization | Тык сюда |
Delete Operaton in B Tree | Тык сюда |
Статья на Хабре | Тык сюда |
B tree at Database on GitHub | Тык сюда |
B+ tree on C on GitHub | Тык сюда |
И еще множество англоязычных и русскоязычных статей, методичка Томского университета с пошаговым описанием алгоритма одного из студентов. Некоторые источники затерялись, сейчас вспомнить уже затруднительно.
Лектор: ст.п Соломатин Д.И.
Практик: Сидоркин А.А.