Библиотека базовых классов в .NET имеет несколько отличных структур данных для коллекций (List, Queue, Stack, Dictionary), но, как ни странно, она не содержит никаких структур данных для бинарных деревьев. Это очень полезная структура для некоторых алгоритмов, таких как те, которые используют различные пути прохождения. Я ищу правильно написанную бесплатную реализацию.
Я просто слепой, и не нахожу его ... это похоронено где-то в BCL? Если нет, то может ли кто-нибудь порекомендовать бесплатную библиотеку C # / .NET с открытым исходным кодом для бинарных деревьев? Предпочтительно тот, который использует дженерики.
РЕДАКТИРОВАТЬ: Чтобы уточнить, что я ищу. Меня не интересуют упорядоченные словарные коллекции, которые внутренне используют дерево. Я на самом деле интересуюсь бинарным деревом - тем, которое раскрывает его структуру, чтобы вы могли делать такие вещи, как извлечение поддеревьев или выполнение обхода после исправления узлов. В идеале такой класс может быть расширен, чтобы обеспечить поведение специализированных деревьев (например, Red / Black, AVL, Balanced и т. Д.).