Biblioteka klas bazowych w .NET ma doskonałe struktury danych dla kolekcji (lista, kolejka, stos, słownik), ale, co dziwne, nie zawiera żadnych struktur danych dla drzew binarnych. Jest to bardzo przydatna struktura dla niektórych algorytmów, na przykład wykorzystujących różne ścieżki przejścia. Szukam poprawnie napisanej, darmowej realizacji.
Czy jestem po prostu ślepy i nie znajduję go ... czy to jest zakopane gdzieś w BCL? Jeśli nie, czy ktoś może polecić darmową lub otwartą bibliotekę C # / .NET dla drzew binarnych? Najlepiej taki, który wykorzystuje leki generyczne.
EDYCJA: Aby wyjaśnić, czego szukam. Nie interesują mnie uporządkowane zbiory słowników, które wewnętrznie używają drzewa. Właściwie interesuje mnie drzewo binarne - takie, które ujawnia swoją strukturę, dzięki czemu można robić takie rzeczy, jak wyodrębnianie poddrzew lub przeprowadzanie przemierzania węzłów po naprawie. W idealnym przypadku taka klasa mogłaby zostać rozszerzona, aby zapewnić zachowanie wyspecjalizowanych drzew (np. Red / Black, AVL, Balanced, itp.).