Comprendere codice per ABR..
Prima poi mi bannano per superattività...
Sono un autodidatta fuori corsissimo!!! Abbiate pazienza! La mia università sta qui
Cercavo di comprendere questa funzione

Sembra che si faccia una visita simmetrica: dall'elemento più piccolo al più grande: quindi abbiamo interi memorizzati nei nodi.
Il fatto che si chiami mindist vuol dire che vorrebbe calcolare la distanza minima tra due elementi memorizzati nei nodi dell'albero.
Non capisco la variabile $prev$ e perché il $-oo$
Sono un autodidatta fuori corsissimo!!! Abbiate pazienza! La mia università sta qui

Cercavo di comprendere questa funzione

Sembra che si faccia una visita simmetrica: dall'elemento più piccolo al più grande: quindi abbiamo interi memorizzati nei nodi.
Il fatto che si chiami mindist vuol dire che vorrebbe calcolare la distanza minima tra due elementi memorizzati nei nodi dell'albero.
Non capisco la variabile $prev$ e perché il $-oo$
Risposte
"Giova411":
[...]
Prima poi mi bannano per superattività...
[...]
Non c'è pericolo, tranquillo

"Giova411":
[...]
Non capisco la variabile $prev$ e perché il $-oo$
Allora, dopo averci ragionato sopra sono arrivato alla seguente conclusione. Abbiamo un albero con chiavi intere (come hai giustamente osservato) e qualcosa mi fa pensare che l'albero sia anche di ricerca (il fatto che si inizi col nodo di valore minimo e si estraggano di volta in volta i vari nodi successivi a quello corrente). Ciò che vogliamo determinare è la distanza minima che c'è tra il valore della chiave di un determinato nodo e quello della chiave del nodo successivo.
L'unica incongruenza dell'algoritmo è secondo me che non viene aggiornato prev, ossia il valore della chiave del nodo precedente.
Quindi se ho ad esempio i nodi con valori $1, 5, 8, 9, 15$ l'algoritmo mi dovrà restituire $1 (= 9 - 8)$.
"onlyReferee":
(..) e qualcosa mi fa pensare che l'albero sia anche di ricerca
Sì il capitolo è quello!!!

"onlyReferee":
(..)L'unica incongruenza dell'algoritmo è secondo me che non viene aggiornato prev, ossia il valore della chiave del nodo precedente.
Esatto! PREV che mi combina?!?!?!

Avevo pensato subito dopo la IF
prev <-- u.value
u<-- u.successorNode()
Il $-\infty$ iniziale per prev è anche comprensibile secondo me (se parliamo di interi come posso denotare il più piccolo teorico numero negativo possibile
).
Poi quella modifica che proponi te anche secondo me è quella giusta (chiaramente nessuno ci dice che i libri siano immuni da errori, anzi...). prev infatti non è altro che il valore della chiave del nodo precedente.

Poi quella modifica che proponi te anche secondo me è quella giusta (chiaramente nessuno ci dice che i libri siano immuni da errori, anzi...). prev infatti non è altro che il valore della chiave del nodo precedente.
"onlyReferee":
(chiaramente nessuno ci dice che i libri siano immuni da errori, anzi...)
Ma i libri di Algo soprattutto!! Hanno sempre un'Errata Corrige relativamente lunga. Pur in edizioni successive...
Anche per questo rimane una materia bellissima!
GraSSie Only

Buona Giornata a Tutti!!!!

"Giova411":
prev <-- u.value
u<-- u.successorNode()
Errata corrige di Errata corrige:

prev <-- u.value u <-- u.successorNode(u)
Mancava una u nella chiamata
