Nem értem ezt a bináris keresés Fa (BST) példa algoritmus

szavazat
2

A törlés kódot itt .

Nem értem, az első részlet a törlés kód (ha a csomópont nem rendelkezik két gyerek).

Ha a csomópont törlésre kerül egy szülő és egy gyermek is (azaz a csomópontnak egy gyerek), hogyan működik ez?

A kód csak törlés a csomópontot és ne állítsa a szülő rámutatnak a most árva gyermek.

Lemaradtam valamiről?

A kérdést 12/04/2011 20:58
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
1

Lehet, hogy tévedek, de a kód a hivatkozott oldalon úgy tűnik, rendben van. Én még nem teszteltem, mégis.

Ez igaz, mert a törlés funkciót egy argumentumot, amely típusú BSTNode ** csomópontot. Ez NEM egy pointert a csomópontot. Ez a mutató a szülő csomópont mutatóját maga a csomópont . Ez lehet egy kicsit hanyag, de be kell vallanom, miután rájött, hogy mi a kód nem, ez egy elegáns a maga módján megoldást. Tehát, ha átírják (* node), akkor nem átírta a csomópont maga , hanem akkor átírják a csomópont szülő mutatót a csomópont . Hatékonyan a kód mit csinál, ha azt egy kissé perverz módon: D. Remélem megértette, mire gondolok, és remélem, igaza van.

Azt is javasoljuk, hogy olvassa tovább a vörös-fekete fák, mivel ez a cikk betekintést nyújt csak létre a fát, de a leírt struktúrának nincs aszimptotikus korlátot a magassága. Ha például megnyomja a rendezett értékek ebben a szerkezetben, akkor a csatlakoztatott lista helyett egy kiegyensúlyozott fa.


Válaszolt 12/04/2011 21:25
a forrás felhasználó

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