Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C] BST teksty, co w sytuacji, kiedy mamy dwóch synów w funkcji usuwającej?

Ostatnio zmodyfikowano 2016-09-19 21:28
Autor Wiadomość
mateczek
» 2016-09-19 21:15:51

takie miałem polecenie:
żeby napisać program trzeba najpierw wiedzieć co się chce zrobić !


 /c /d
A--B
    \e
usunięcie węzła "B" może być zrealizowane w następujący sposób
 /c
A--d

 /c
A--e
a może jeszcze inaczej ??
   
P-151839
pekfos
» 2016-09-19 21:28:14
Jeżeli usuwany element nie ma następników to można zwolnić przydzieloną mu pamięć.
Następnika nie ma tylko ostatni element przy wypisywaniu drzewa in-order. Następnik nie musi być prawym węzłem potomnym.

Jeśli element ma dwa następniki
Ktoś tu myli pojęcia.

jezeli element usuwany ma po sobie dzieci po lewej i prawej stronie to usuwa się w bardziej skomplikowany sposób.
Niewiele bardziej. Jeżeli implementujesz wszystkie funkcjonalności drzewa BST, to takie usuwanie składa się z zaledwie dwóch wywołań. Przeniesienie wartości między węzłami pomijam.
P-151841
1 « 2 »
Poprzednia strona Strona 2 z 2