• Non ci sono risultati.

Esercitazione 4

N/A
N/A
Protected

Academic year: 2021

Condividi "Esercitazione 4"

Copied!
2
0
0

Testo completo

(1)

Esercitazione 4

Diciamo che un nodo di un albero binario è un nodo sinistro se è il figlio sinistro di suo padre. Analogamente un nodo è un nodo destro se è figlio destro di suo padre. Diciamo inoltre che un nodo è un S-nodo se è radice di un albero con più nodi sinistri che destri.

Date queste definizioni, aggiungere alla classe BinaryTree.java il seguente metodo:

// post: ritorna il numero di S-nodi , ovvero il numero di nodi // dell'albero che sono radici di un sottoalbero con piu' // nodi sinistri (cioe' nodi che sono figli sinistri) che // destri

public int Snumber() {…}

Ad esempio, se l!albero è quello in figura, il metodo ritorna il valore 2 perché i nodi con chiave c ed a sono S-nodi.

Esercitazione 4

Aggiungere inoltre alla classe BinaryTree.java il seguente metodo:

// post: ritorna true se l'albero e' bilanciato; ritorna false // altrimenti

// NOTA: un albero binario e' bilanciato se, per ogni suo nodo n, // le altezze dei sottoalberi sinistro e destro di n

// differiscono al piu' di uno.

public boolean isBalanced() {…}

Implementare entrambi i metodi usando la ricosione. Se necessario, utilizzare metodi di appoggio privati.

Gli algoritmi proposti devono avere complessità O(n) dove n è il numero di nodi dell!albero.

(2)

Esercitazione 4

Aggiungere infine alla classe BinaryTree.java il seguente metodo:

// post: ritorna una stringa contenente tutte le chiavi dei nodi interni // dell’albero, elencati procedendo per livelli, da destra a // sinistra e separati da uno spazio

public String interniDxSx() {…}

Il metodo deve avere complessità O(n) dove n è il numero di nodi dell!albero.

Ad esempio, per l!albero in figura, l!algoritmo deve ritornare la stringa “a c b”

Esercitazione 4: consegna

Consegnare:

-l!intera classe BinaryTree.java

-la prova di correttezza del metodo Snumber() -la prova di correttezza del metodo isBalanced()

La scadenza è:

Domenica 23 novembre ore 23.55

Riferimenti

Documenti correlati

Il presente capitolo mira ad approfondire le condizioni storiche, politiche e antropologiche che hanno determinato la nascita e diffusione della poesia saharawi

Since scientific literature reported the use of a Narrative Medicine approach in every type of disease, we included in the review all the studies that considered patients affected

Having established a shared definition of the competence of learning to learn, vertical work groups, made up of teachers of primary and lower secondary school have been

Si ottiene componendo un’asola di nodo bulino semplice sul ramo di corda che fa ingresso nell’imbracatura, ripassando il capo di corda in uscita dall’imbracatura dapprima

8) Il “Nodo delle Guide Semplice”, quando si recuperano le corde dopo una discesa in corda doppia ed il nodo entra in tensione, ha la tendenza a ‘galleggiare’ sopra le roccie

Abbandoniamo ora i nodi e le trecce, e concentriamoci sulla ricerca degli operatori di Yang-Baxter: alla fine di questa sezione avremo un modo mol- to generale per produrre

Habermas, J., “Il futuro della natura umana: i rischi di una genetica liberale” a cura di Ceppa L., Torino, Einaudi, 2002.. Prassi del principio di responsabilità”,

 Con la Legge Moratti del 2003 si stabilisce che sia il Corso in Formazione Primaria sia la SSIS verranno sostituiti da Lauree Specialistiche per l’insegnamento, caratterizzate,