Почему C++ STL не предоставляет никаких «древовидных» контейнеров?
Вероятно, по той же причине, что tree нет контейнера дерева в ускорении. Есть data-structures много способов реализовать cxx такой контейнер, и нет хорошего c++ способа удовлетворить всех, кто stl-containers будет его использовать.
Некоторые stl вопросы, которые следует tree учитывать:
- Количество дочерних узлов для узла фиксированное или переменное?
- Сколько накладных расходов на узел? - т. е. нужны ли вам родительские указатели, указатели братьев и сестер и т. д.
- Какие алгоритмы предоставить? - разные итераторы, алгоритмы поиска и т. д.
В конечном итоге data-structures проблема заключается в том, что data-structure контейнер дерева, который cpp был бы достаточно полезен data-structure для всех, был бы слишком data-structures тяжелым, чтобы удовлетворить c++ большинство людей, использующих trees его. Если вы ищете что-то stl-containers мощное, Boost Graph Library по сути является trees надмножеством того, для чего stl-containers можно использовать древовидную stl-containers библиотеку.
Вот некоторые cpp другие общие реализации дерева:
c++
data-structures
tree
stl
Почему C++ STL не предоставляет никаких «древовидных» контейнеров?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.