Fig. 72. Excluderea de noduri dintr-un copac dihotomică
Fig. 71. degenerată copac dihotomică
Fig. 70. arbori Dihomicheskie
Un copac nod de căutare dihotomică cu valoarea cheie specificată se bazează pe compararea unei chei predeterminate din cheia de bază. Singura comparație puteți merge la stânga sau la dreapta, sub-rădăcină copac. Dacă dichotoma copac este echilibrat, atunci nodul cu o anumită valoare cheie de căutare nu necesită mai mult de [log2 N] +1 pentru comparații, unde N - numărul de noduri de arbore dihotomice. În cazul particular în care o multitudine de chei este liniar ordonat dichotoma copac efectiv degenerează într-o listă liniară (fig. 71). În acest caz, căutarea se efectuează între N noduri maxime de N comparații, și, în medie - pentru N / 2 comparații.
Structura arbore dihotomice este determinată prin atribuirea secvenței de taste. Secvențe misiuni cheie pentru
¨ Fig copac. a) - 150, 70, 300, 100, 30, 200, 50;
¨ Fig copac. b) - 100, 50, 30, 70, 200, 150, 300;
¨ Fig copac. - 300, 200, 150, 100, 70, 50, 30.
Includerea în copac nod dichotoma cu valoarea cheii specificată este produs după cum urmează: în cazul în care căutarea nodul a dus la un capăt mort (adică, subarborele gol, marcat cu NIL valoarea de referință), apoi un nou nod trebuie să fie incluse în copac, în locul unui subramificație gol. Astfel, un nod inclus în arborele dichotoma întotdeauna ca o foaie.
Procedura Ins_Node (var root: PDtree;
În cazul în care nodul rădăcină nu conține cheia de căutare, procedura se face apel recursiv să continue căutarea sau la dreapta sau la jumătatea stângă a arborelui. În cazul în care a ajuns la sfârșitul crengilor și nu a fost găsit cheia dorită, o nouă la egal la egal cu această valoare cheie. Recursivitatea se termină atunci când cheia dorită este găsit (în acest caz, un mesaj despre imposibilitatea de a re-activa nodul) sau de a ajunge la sfârșitul unei sucursale (în acest caz, un nou nod este inclus în copac).
Ce algoritm traversal este baza nodului procedurilor de copac dihotomică de comutare?
Când arborele postroeniidihotomicheskogo nodurilor N în fiecare din ciclul N etapelor se efectuează pentru a specifica valoarea cheii nodului de inserție (Ins_Node procedura de apel). Prin urmare, complexitatea de a crea un arbore dihotomică de noduri N este estimat ca operațiunile de log2 N N *.
Când udaleniiuzla. cu o valoare cheie dată unui copac dihotomice, există trei cazuri:
1. Nodul cu valoarea cheie specificată în arborele nr.
2. Ansamblu pentru a specifica valoarea cheie nu este mai mult de un descendent. În acest caz, nodul exclus se înlocuiește cu descendenții săi.
3. Nod pentru a specifica valoarea cheii are doi descendenți. În acest caz, nodul exclus este înlocuit sau pe nodul din dreapta-cele mai multe dintre subarborele stâng. care nu are mai mult de un copil, sau pe nodul din stânga-cele mai multe dintre subarborele sau dreapta. având nu mai mult de un descendent.
nodurile Exemplu excepția arborelui dihotomice este prezentată în Fig. 72.
Distrugerea de orice fel de arbore binar este eliberarea secvențială a zonelor de memorie în care sunt aranjate elemente de noduri de stocare le revin la grămadă. Ca urmare a distrugerii copac devine gol.
Ce algoritm traversal pentru a fi utilizate pentru distrugerea unui arbore binar?
tree expresie - un arbore binar în care nodul rădăcină atribute operații stocate și terminale nodurile - operanzi de expresie (variabile sau constante). arbore de expresie prezentat în Fig. 73.