Basic BST vraag van een nieuwe programmeur

stemmen
0

Gezien de dataset (8, 1, 6, 9, 3, 5, 4, 7) Ik trok de volgende binaire zoekboom:

   8
  / \
  1  9
   \ 
    6
   / \ 
  3   7
   \ 
    5
   /
  4

Mijn vraag is, als ik wilde naar de root node (8) van deze boom te verwijderen, hoe zou ik het doen en wat zou de resulterende boomstructuur eruit? Hartelijk dank voor alle hulp!

De vraag is gesteld op 30/03/2011 om 04:29
bron van user
In andere talen...                            


2 antwoorden

stemmen
1

moet u ofwel een knooppunt uit de linker deelboom of de rechter deelboom te promoten. Je kan dit willekeurig doen, of beter nog, het bevorderen van de diepste boom.

Als het bevorderen van de linker sub-boom, het vinden van het blad door te gaan recht altijd starten in de linker substree. Knip dit blad uit de boom, en zet het als de nieuwe root.

Ook als het bevorderen van de juiste sub-boom, het vinden van het blad door te gaan links altijd beginnen in de rechter deelboom. Knip dit blad uit de boom, en zet het als de nieuwe root.

antwoordde op 30/03/2011 om 04:38
bron van user

stemmen
-2
            1
             \
              6
            /  \
           3    9 
            \  /
             5 7
            /
           4   

De boom zal kijken zoals hierboven weergegeven. Het beste zou zijn om de boom weer te reconstrueren vanuit het niets in plaats van enige logica om de bladeren te bewegen en bemoeilijken het proces.

antwoordde op 30/03/2011 om 06:51
bron van user

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