2012-01-07 10 views
6

C'è un albero AVL integrato nelle librerie .NET?.NET AVL-Tree incorporato?

Ho cercato ma non ne ho trovato.

  • Se c'è, allora dove? quale spazio dei nomi?
  • In caso contrario, esiste una buona implementazione per alberi AVL in C#?
  • Se anche no! allora c'è un modo semplice per farlo? So come funziona e ne ho creato uno in C++ nativo prima, ma ora non ho tempo e ho paura delle cattive prestazioni se lo faccio io stesso.
+1

Cosa stai cercando di ottenere? Forse c'è un tipo di collezione integrato che si adatta alle tue esigenze. – Oded

+0

Ho bisogno di una gerarchia bilanciata, un albero binario normale non è adatto perché non è bilanciato, qualsiasi suggerimento sarebbe il benvenuto però :) –

+0

Non stai spiegando cosa stai andando _do_ con la tua struttura dati, solo dando i requisiti _per_ un dato struttura. Fornire requisiti di livello superiore è più utile. – Oded

risposta

3

Una ricerca rapida ha trovato un'implementazione here. Il codice sembra pulito, ma non l'ho provato.

Se non altro, è possibile eseguire un test rapido delle prestazioni con SortedSet<T> (come suggerito da @Josef) per vedere se c'è qualche differenza nel proprio caso d'uso.