---+++ Homework 5 (di recupero) - stampa in postordine di un albero binario L'esercizio *è riservato a chi NON ha consegnato* tutti i primi 4 homework. L'esercizio *DEVE essere svolto in modo ricorsivo* L'obiettivo dell'esercizio è stampare in postordine un albero binario (quasi) completo. In particolare, per ogni nodo, invece di stampare il valore del nodo dovete stampare la somma di tutti i valori di quel sottoalbero. L'albero è in forma di vettore, ovvero come una successione di valori in cui i figli del nodo che si trova all'indice *x* si trovano agli indici *2x+1* e *2x+2*. Quindi un nodo in posizione *x* è foglia se non ha figli, ovvero se *2x > N-2*. *Input:* (su righe diverse) il numero *N* di elementi del vettore seguito dagli N elementi * *N*: dimensione del vettore che contiene i valori dei nodi dell'albero (intero compreso tra 1 e 1024) * *X_0* * *X_1* * ... * *X_N-1* *Output:* (su righe diverse) * visita in postordine e stampa della somma dei nodi di ciascun sottoalbero visitato ---+++ Esempio *Input:* <verbatim> 10 1 2 3 4 5 6 7 8 9 10 </verbatim> Che corrisponde all'albero <verbatim> 1 / \ 2 3 / \ / \ 4 5 6 7 / \ / 8 9 10 </verbatim> *Output:* <verbatim> 8 9 21 10 15 38 6 7 16 55 </verbatim> ---+++ Consegna entro le ore 24 del 5 giugno La [[/~andrea/consegna-HW-2015.html][pagina di consegna]] è pronta ---+++ Tests e risultati Ho pubblicato una decina di [[%ATTACHURL%/][file di test]] generati a caso (con 100-1024 elementi) Vi ricordo che per eseguire i test potete usare la riga di comando e la redirezione dell'input, ovvero: * __java -jar Mars4_5.jar mioprogramma.asm < filedait.in__ -- Users.AndreaSterbini - 25 May 2015 <!-- * Set ALLOWTOPICCHANGE = Users.AndreaSterbini -->
This topic: Architetture2/MZ/AA14_15
>
HomeWork5
Topic revision: r4 - 2015-06-04 - AndreaSterbini
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback