Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Inserisci nodo

V
Valerio.Pescatori (1940 points)
11 25 38
in Programmazione in Assembly by (1.9k points)
closed by
Salve, ho un dubbio riguardo la funzione "inserisci nodo": la posizione nella quale verrà inserito il nodo andrà a modificare l'altezza dell'albero? oppure l'altezza dell'albero resterà invariata? se il primo caso è possibile, basta aggiungere un /0 subito dopo il nodo inserito o bisognerà aggiungere ".." fino a completare il nuovo livello?
444 views
closed with the note: answered

2 Answers

a
andreamarino (210 points)
0 1 8
by (210 points)
La mia interpretazione è che il risultato dell'operazione possa essere sia una modifica di un nodo già presente che un  inserimento di una foglia (e quindi un potenziale aumento dell'altezza dell'albero). Il mio consiglio è di tenere conto che sai a priori il livello massimo che può raggiungere l'albero (perchè ne conosci il numero max di nodi) e di conseguenza puoi inizializzare la struttura con i valori giusti senza dover gestire i casi di modifica all'altezza.
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Per evitare che dobbiate ingrandire l'albero a run-time tutti i test prevederanno un albero iniziale abbastanza grande da contenere tutti i nodi richiesti alle varie operazioni.

Quindi l'albero NON deve essere ingrandito.
by (9.9k points)
Ed invece può diminuire la sua altezza (mi riferisco in particolar modo alla funzione "elimina")?
A
Angelo9787 (3670 points)
10 32 51
by (3.7k points)
Elimina non fa altro che sostituire tutti i figli del nodo dato con .., non viene diminuita la grandezza
by (9.9k points)
È vero, grazie!