Бинарное дерево поиска. Шаблоны. STL.
Реализовать три STL-совместимых контейнера для BinarySearchTree, реализующие различные способы обхода дерева (in-, pre-, post-order) через итератор.
Контейнер должен предоставлять из себя шаблон, праметрезируемый типом хранимых объетов, оператором сравнения и аллокатором, а так же удовлетворять следующим требованиям к stl - совместимым контейнерам:
- контейнера
- ассоциативный контейнера
- контейнера с обратным итератором
- контейнера поддерживающие аллокатор
- oбладать двунаправленным итератом
Способ обхода дерева должен быть реализован через итератор, те оператор "++" должен приводить к перемещению итератора к следующему элементу в дереве, согласно правилу обхода.
Все вышеуказанные требования должны быть покрыты тестами, с помощью фреймворка Google Test.
Тесты также являются частью задания, поэтому покрытие будет влиять на максимальный балл.
- Запрещено использовать стандартные контейнеры
Подумайте над тем как не делать 3 разных контейнера, а воспользоваться Tag Dispatch Idiom
- 12.03.24. 0.8
- 19.03.24. 0.65
- 26.03.24. 0.5
Максимальное количество баллов - 15