Este un nod într-un copac considerat propriul său strămoș?

voturi
4

Mă întrebam ce consensul este în definiția „strămoș“, într-un context informatică.

Cer doar pentru că în Introducere în algoritmi , ediția a doua, p. 259 există o descriere a algoritmului Tree-Successor(x)care pare ciudat. Nedescoperirea succesorul nodului x ,

[...] în cazul în care subarborelui drept al nodului x este gol si x are un succesor y , atunci y este cel mai mic strămoș al x al cărui copil stâng este , de asemenea , un strămoș de x .

Într - un arbore binar de căutare cu o rădăcină cu cheie 2și copii 1și 3, succesorul 1este mamă 2. În acest caz, x este copilul stâng al x succesor „s, y . Conform definiției cărții, atunci, x trebuie să fie propriul său strămoș, dacă nu - mi scapă ceva.

N - am găsit nimic în erata despre acest lucru.

Întrebat 20/06/2010 la 04:48
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
3

Este un nod într-un copac considerat propriul său strămoș?

Nu în mod normal, AFAIK. De exemplu, în pagina Wikipedia pe arbori binari , strămoș este definit astfel:

Dacă există o cale de la nodul p la nodul q, unde nodul p este mai aproape de nodul rădăcină decât q, atunci p este un strămoș al q și q este un descendent al lui p.

Dar se pare că definiția carte de text de strămoș este de așa natură încât un nod este propriul său strămoș. Această definiție nu este exact intuitiv, dar un manual este liber să introducă propriile definiții pentru terminologia pe care - l folosește. Poate că această definiție simplifică unele dintre descrierile aferente / teoreme / etc.

Publicat 20/06/2010 la 05:14
sursa de către utilizator

voturi
-1

Nu, un nod nu este strămoșul în sine. Potrivit mi - ar trebui să fie: în cazul în care subarborelui drept al nodului x este gol si x are un succesor y, atunci y este cel mai mic strămoș al x al cărui copil stâng este , either x or an ancestor of x.dar codul dat în carte se presupune manipularea acestui tip de cazuri.

Publicat 20/06/2010 la 05:23
sursa de către utilizator

voturi
10

Este doar o chestiune de definiție, dar în acest caz, da . CLRS definesc un strămoș al lui x ca orice nod pe calea unică de la rădăcină la x, care prin definiție include x.

Fragmentul citat teză pe care începe prin a menționa exercitarea 12.2-6 pe pagina următoare, care specifică acest lucru:

(Să ne amintim că fiecare nod este propriul său strămoș.)

:-)

Publicat 20/06/2010 la 05:33
sursa de către utilizator

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