Salve a tutti cari amici del forum...
Avrei da chiedervi una mano per quanto concerne degli algoritmi ricorsivi sugli alberi binari, che mi serve per il sostenimento dell'esame di algoritmi e strutture dati.
Ho bisogno se è possibile almeno di una soluzione con pseudocodice.
Ora... non sono prorpio terra terra con Java ma ho quanlche problema a sviluppare alcuni metodi ricorsivi....
Mi spiego meglio... Un caso particolare è quello che avendo a disposizione una interfaccia come la seguente:
Si consideri la seguente interfaccia che descrive alberi binari in cui la parte informativa di ogni nodo sia un intero.
public interface AlberoBinario{
int val();
AlberoBinario sin();
AlberoBinario des();
}
Implementare il metodo
boolean positiviNodiProfondi(AlberoBinario a, int k);
che restituisce true se e solo se la parte informativa di tutti i nodi che si trovano ad un livello maggiore o uguale a k (la radice ha livello 0) dell’albero a è maggiore o uguale a zero.
In piu ho difficoltà maggiori rispetto alla stesura del codice per quanto riguarda il calcolo delle complessità temporali e spaziali, se è possibile avrei anche bisogno di commenti sul perchè si è arrivati a certi risultati:
Complessità temporale:
Teta(____________) Caso Migliore
Teta(____________) Caso Peggiore
Complessità spaziale:
Teta(____________) Caso Migliore
Teta(____________) Caso Peggiore