Nerozumím této Binární vyhledávací strom (BST) Příklad algoritmu

hlasů
2

V vypouští kód z tady .

Nechápu první úryvek vypouští kód (pokud uzel nemá dvě děti).

V případě, že uzel byl odstraněn má rodiče a samotné dítě (tj uzel má jedno dítě), jak to funguje?

Kód je právě odstraněním uzel a ne nastavením ukazatele mateřské společnosti jako k nyní osiřelé dítě.

Uniká mi něco?

Položena 12/04/2011 v 20:58
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Možná se mýlím, ale kód na odkazované stránce se zdá v pořádku. I nebyly testovány to, ačkoli.

To je pravda, protože odstranění funkce má jeden argument, který je typu BSTNode ** uzlu. Nejedná se o ukazatel na uzel. To je ukazatel na uzel ukazatel rodiče do uzlu samotného . To by mohlo být trochu sentimentální, ale musím přiznat, že poté, co si uvědomil, co kód dělá, to je elegantní svým způsobem řešení. Takže když přepsat (* node), nejste přepisování uzel sám , místo toho se přepisují rodiče uzlu je ukazatel na uzel . Účinně kód je dělat to, co je navrženo v poněkud zvrácené způsobem: D. Doufám, že jste pochopil, co jsem měl na mysli, a doufám, že jsem to správně.

Chtěl bych také doporučujeme přečíst si další informace o červeno-černé stromy, protože tento článek dává nahlédnout pouze vytvoření stromu, ale popsaná konstrukce nemá asymptotické meze k jeho výšce. Pokud se například budete tlačit setříděné hodnoty v této struktuře, to bude připojen seznam namísto vyvážený strom.


Odpovězeno 12/04/2011 v 21:25
zdroj uživatelem

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