È un nodo in un albero considerato il suo antenato?

voti
4

Mi chiedo che cosa il consenso è sulla definizione di antenato in un contesto di informatica.

Chiedo solo perché in Introduzione agli algoritmi , seconda edizione, pag. 259 v'è una descrizione dell'algoritmo Tree-Successor(x)che sembra strano. Nel trovare il successore di nodo di x ,

[...] se sottoalbero destro del nodo x è vuoto e x ha un successore y , allora y è l'antenato più basso di x cui figlio sinistro è anche un antenato di x .

In un albero binario di ricerca con una radice con chiave 2e figli 1e 3, il successore di 1è suo genitore 2. In questo caso, x è il figlio sinistro di x successore', y . Secondo la definizione del libro, quindi, x deve essere un proprio antenato, a meno che non mi manca qualcosa.

Non ho trovato nulla nella errata su questo.

È pubblicato 20/06/2010 alle 04:48
fonte dall'utente
In altre lingue...                            


3 risposte

voti
3

È un nodo in un albero considerato il suo antenato?

Normalmente non, per quanto ne so. Ad esempio, nella pagina di Wikipedia su alberi binari , antenato è definito così:

Se esiste un path dal nodo al nodo p q, dove p nodo è più vicino al nodo radice di q, allora p è un antenato di q e q è un discendente di p.

Ma a quanto pare definizione che del libro di testo di antenato è tale che un nodo è proprio antenato. Questa definizione non è esattamente intuitivo, ma un libro di testo è libero di introdurre le proprie definizioni per la terminologia che si utilizza. Forse questa definizione semplifica alcune delle relative descrizioni / teoremi / ecc

Risposto il 20/06/2010 a 05:14
fonte dall'utente

voti
-1

No, un nodo non è antenato di sé. Secondo me dovrebbe essere: se il sottoalbero destro del nodo x è vuoto e x ha un successore y, allora y è l'antenato più basso di x il cui figlio sinistro è either x or an ancestor of x.ma il codice data nel libro presumibilmente gestire questo tipo di casi.

Risposto il 20/06/2010 a 05:23
fonte dall'utente

voti
10

E 'semplicemente una questione di definizione, ma in questo caso, . CLRS definiscono un antenato di x come qualsiasi nodo sul percorso unico dalla radice x, che per definizione include x.

Il frammento di frase che hai citato inizia menzionando esercizio 12,2-6 nella pagina successiva, che specifica in questo modo:

(Ricordiamo che ogni nodo è proprio antenato.)

:-)

Risposto il 20/06/2010 a 05:33
fonte dall'utente

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