cum să pună în aplicare BST inorder parcurgeri?

voturi
0

De fapt , ceea ce vreau să știu , nu este cum să pună în aplicare algoritmul traversal în vederea unei BST , ci să - l pună în aplicare folosind doar inserare, ștergere și algoritmi traversal de pre-comandă pentru un BST.
Puteți presupune că sunt date implementările pentru algoritmi standard BST pentru inserare, ștergere și pre-comanda traversal.

Întrebat 18/10/2011 la 06:36
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
0

Hmmm ... Să spunem că avem + la rădăcină și 1 la nodul stânga și 2 la nodul dreapta. Precomanda va fi + 1 2și în ordine va fi 1 + 2.. diferenta este ca 1 si 2 au fost schimbate, așa că , dacă aveți inserare și ștergere puteți schimba recursiv fiecare valoare nod rădăcină cu valoarea nod stânga și apoi folosind pre-comanda traversează copac , care va reveni va provoca o traversal inordine.

Nu sunt sigur dacă acest lucru este modul de a merge, dar sper că ajută.

Publicat 18/10/2011 la 06:46
sursa de către utilizator

voturi
0

Cred că am găsit o soluție. :)

avem precomandă traversal, inserare și ștergere metode.

Să presupunem că ni se dă un BST.

ceea ce facem este, noi oferim metoda traversal precomandă BST dat. din moment ce pre-comanda parcurgeri merge întotdeauna la nodul părinte în primul rând, vom șterge și introduceți fiecare rădăcină (deoarece rădăcina este primul părinte ne întâlnim) nod recursiv până sub arborele din stânga al rădăcinii este nul.

acum începe ștergerea rădăcină până când nu există nici noduri left.Put acele noduri șterse într-o matrice sau ori de câte ori doriți. Vei primi un set de noduri sortate. (De exemplu, nodurile vor fi șterse într-un order.the sortat mai mic întâi și așa mai departe ...)

Publicat 21/10/2011 la 07:54
sursa de către utilizator

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