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.
cum să pună în aplicare BST inorder parcurgeri?
sursa de către utilizator Tharindu Rusira
În alte limbi...
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ă.
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 ...)