Implementarea unui arbore echilibrat binar de căutare?

voturi
10

Am implementat un arbore binar de căutare și vreau să adăugați mai multe funcționalități în funcția sa de inserare la un arbore auto-echilibrare face. Sunt de codificare în C #.

Poate cineva vă rugăm să-mi tutoriale bune sau link-uri de pe acest sugerează? Am făcut unele căutări și a găsit unele link-uri, dar nici unul dintre ei au fost suficient de descriptiv.

Mulțumiri.

Întrebat 24/07/2011 la 09:25
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
13

Există un mare număr de algoritmi pentru arbori de căutare cu autoechilibrare, dintre care multe sunt complexe și altele din care sunt destul de simplu (deși, cu unele rezerve).

Cartea „Introducere în algoritmi, ediția a doua“ de Cormen, Leisserson, Rivest, și Stein este o excelenta introducere algoritmi și acoperă copaci rosu / negru , foarte bine. Este , de asemenea , o mare carte , în general , pe algoritmi și structuri de date.

Dacă sunteți interesat să utilizați arbori splay , care sunt extrem de rapid și de fapt destul de ușor să pună în aplicare, hârtia originală pe structura de date este foarte accesibil. Mai mult decât atât, aceasta include o dovada a tuturor limitelor de rulare.

Treap este un simplu studiu randomizat arbore echilibrat binar de căutare , care poate fi pus în aplicare destul de ușor odată ce știi cum să pună în aplicare rotații de copac . Rotațiile copacilor sunt , de asemenea , utilizate în copaci splay, de asemenea, și așa ar putea fi în valoare de investigare.

Pentru copaci AVL , această prelegere pare a fi o resursă bună.

Sper că acest lucru vă ajută!

Publicat 24/07/2011 la 09:31
sursa de către utilizator

voturi
0

verifica http://code.google.com/p/self-balancing-avl-tree/ , pune în aplicare un arbore AVL autoechilibrare în c #. în plus implementează , de asemenea , operațiunile de înlănțui pe părți.

Publicat 12/07/2012 la 23:41
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more