Podstawowe BST Pytanie od nowego programatora

głosy
0

Biorąc pod uwagę zestaw danych (8, 1, 6, 9, 3, 5, 4, 7) I wyciągnął następujący binarne drzewo poszukiwań:

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

Moje pytanie brzmi, czy chcę usunąć węzeł główny (8) z tego drzewa, w jaki sposób mogę to zrobić i jakie powstały drzewa struktura wygląda? Dziękuję bardzo za pomoc!

Utwórz 30/03/2011 o 04:29
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
1

trzeba będzie promować zarówno węzła z lewego poddrzewa lub odpowiedniego poddrzewa. Można to zrobić w sposób arbitralny, albo jeszcze lepiej promować z najgłębszej drzewa.

Jeśli promowanie z drzewa po lewej sub, znajdź Leaf by wychodziło zawsze zaczynając od lewej substree. Ciach ten liść z drzewa, i umieścić go jako nowego korzenia.

Podobnie jeśli promowanie z prawej sub drzewa, znaleźć liść, przechodząc w lewo zawsze wychodząc w prawym poddrzewie. Ciach ten liść z drzewa, i umieścić go jako nowego korzenia.

Odpowiedział 30/03/2011 o 04:38
źródło użytkownik

głosy
-2
            1
             \
              6
            /  \
           3    9 
            \  /
             5 7
            /
           4   

Drzewo będzie wyglądać tak jak pokazano powyżej. Najlepiej byłoby, aby zrekonstruować drzewo ponownie od zera zamiast pewnej logiki, aby przejść liści i skomplikować proces.

Odpowiedział 30/03/2011 o 06:51
źródło użytkownik

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