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

Do you need help?

Notice Board

Come eliminare un nodo di un albero?

S
SkyLion (1020 points)
7 15 24
in Es1 by (1.0k points)
recategorized by
Mi riferisco sia al primo che al terzo esercizio dell'Homework 4.

Io ho pensato che per eliminare un nodo e tutti i suoi figli, devo ricorsivamente eliminare prima tutti i suoi figli e poi sè stesso con un banale del(nodo)... però poi non dovrei anche eliminare il suddetto nodo dalla lista dei figli del suo genitore? Se si, come posso fare per eseguire questa operazione?
844 views
closed with the note: answered

1 Answer

Best answer
split (8700 points)
21 59 79
by (8.7k points)
selected by
l funzione del() o lil metodo pop() per dizionari eliminano sia chiave che valori in una sola chiamata. il metodo pop() inoltre ritorna il valore eliminato, il che è molto utile secondo me.

puoi partire tranquillamente dalla radice ed eliminare i nodi man mano che li incontri. per eliminare la specifica x dai valori devi per forza andare a cercarla "a mano"... credo non ci siano altri grandi soluzioni per questo, o almeno io non ne ho trovate. comunque sia una volta eliminato il sottoalbero puoi scorrere il diz rimasto in cerca della tua chiave tra i valori ed eliminarla (con del o con remove...devi toglierla da una lista).