La libreria di classi di base in .NET ha alcune eccellenti strutture di dati per le raccolte (List, Queue, Stack, Dictionary), ma stranamente non contiene strutture di dati per alberi binari. Questa è una struttura estremamente utile per alcuni algoritmi, come quelli che sfruttano diversi percorsi di attraversamento. Sto cercando un'implementazione gratuita e scritta correttamente.
Sono semplicemente cieco e non lo trovo ... è sepolto da qualche parte nella BCL? In caso contrario, qualcuno può consigliare una libreria C # /. NET gratuita o open source per alberi binari? Preferibilmente uno che impiega generici.
EDIT: per chiarire cosa sto cercando. Non sono interessato alle raccolte di dizionari ordinate che utilizzano internamente un albero. In realtà sono interessato a un albero binario, uno che espone la sua struttura in modo che tu possa fare cose come estrarre sottostrutture o eseguire attraversamenti post-correzione sui nodi. Idealmente una tale classe potrebbe essere estesa per fornire i comportamenti di alberi specializzati (es. Rosso / Nero, AVL, Bilanciato, ecc.).