Die Basisklassenbibliothek in .NET verfügt über einige hervorragende Datenstrukturen für Sammlungen (Liste, Warteschlange, Stapel, Wörterbuch), enthält jedoch seltsamerweise keine Datenstrukturen für Binärbäume. Dies ist eine äußerst nützliche Struktur für bestimmte Algorithmen, z. B. solche, die unterschiedliche Durchquerungspfade nutzen. Ich suche eine korrekt geschriebene, kostenlose Implementierung.
Bin ich einfach blind und finde es nicht ... ist es irgendwo in der BCL begraben? Wenn nicht, kann jemand eine kostenlose oder Open-Source-C # /. NET-Bibliothek für Binärbäume empfehlen? Vorzugsweise eine, die Generika verwendet.
EDIT: Um zu klären, wonach ich suche. Ich bin nicht an geordneten Wörterbuchsammlungen interessiert, die intern einen Baum verwenden. Eigentlich interessiert mich ein Binärbaum - einer, der seine Struktur verfügbar macht, sodass Sie beispielsweise Teilbäume extrahieren oder die Knoten nach dem Fixieren durchlaufen können. Idealerweise könnte eine solche Klasse erweitert werden, um das Verhalten spezialisierter Bäume (z. B. Rot / Schwarz, AVL, Ausgeglichen usw.) bereitzustellen.