Je uzel ve stromě považován za vlastní předek?

hlasů
4

Zajímalo by mě, co je konsensus o definici „předchůdce“ v kontextu výpočetní techniky.

Jen jsem se zeptat, protože v Úvod do algoritmů , druhé vydání, str. 259 je uveden popis algoritmu Tree-Successor(x), který se zdá být zvláštní. Při hledání následníka uzlu x ,

[...] v případě, že pravý podstrom uzlu x je prázdná a x má nástupce y , pak y je nejnižší předek x jehož levý dítě je také předchůdcem x .

V binárním vyhledávacím stromu s kořenem mají klíč 2a děti 1a 3je nástupce 1je jeho rodič 2. V tomto případě, x je levý dítě x nástupce, y . Podle definice knihy, pak x musí být jeho vlastní předek, pokud mi něco chybí.

Nenašel jsem nic o errata o tom.

Položena 20/06/2010 v 04:48
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
3

Je uzel ve stromě považován za vlastní předek?

Není za normálních okolností, pokud vím. Například na stránce Wikipedie o binárních stromů , předek je definována takto:

Pokud existuje cesta z uzlu do uzlu p q, kde p uzel je blíže do kořenového uzlu než q, pak p je předek q a q je potomek p.

Ale zřejmě definice tohoto textu knihy o předka je taková, že uzel je jeho vlastní předek. Tato definice není zrovna intuitivní, ale učebnice je zatím představit své vlastní definice pro terminologie, kterou používá. Možná, že tato definice zjednodušuje některé související popisy / věty / atd.

Odpovězeno 20/06/2010 v 05:14
zdroj uživatelem

hlasů
-1

Ne, uzel není předkem sám. Podle mě by to mělo být: v případě, že pravý podstrom uzlu x je prázdná a x má nástupce y, pak y je nejnižší předek x jehož levé dítě je either x or an ancestor of x.ale kódu uvedeného v knize údajně manipulační tento druh případů.

Odpovězeno 20/06/2010 v 05:23
zdroj uživatelem

hlasů
10

Je to pouze otázka definice, ale v tomto případě, ano . CLRS definovat předka x jako každý uzel na unikátní cestě od kořene až x, který podle definice zahrnuje x.

Věta fragment citujete začíná zmínkou cvičení 12.2-6 na následující straně, která určuje takto:

(Připomeňme si, že každý uzel je jeho vlastní předek).

:-)

Odpovězeno 20/06/2010 v 05:33
zdroj uživatelem

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