• Non ci sono risultati.

[CT0001] Algoritmi e Strutture Dati 2010/11, Modulo B Data: 18 gennaio 2011 Nome Cognome: Matricola:

N/A
N/A
Protected

Academic year: 2021

Condividi "[CT0001] Algoritmi e Strutture Dati 2010/11, Modulo B Data: 18 gennaio 2011 Nome Cognome: Matricola:"

Copied!
1
0
0

Testo completo

(1)

[CT0001] Algoritmi e Strutture Dati 2010/11, Modulo B Data: 18 gennaio 2011

Nome Cognome:

Matricola:

Modulo B (33 punti) Il tempo a disposizione `e 1:15 h. Giustificare tutte le risposte, usando anche il retro dei fogli.

(15pts)

15 pts 1. Si consideri un albero binario T . Definiamo un PSD := Percorso Senza Diramazioni come un insieme

di vertici v1, v2, . . . , vm(m ≥ 1, vi∈ T ) dove ogni nodo `e collegato al precedente e non ha pi`u di un figlio, formalmente:

1. Per 2 ≤ i ≤ m il nodo vi `e figlio del nodo vi−1

2. Per 1 ≤ i ≤ (m − 1) il nodo vi ha un solo figlio 3. vm non ha figli (quindi `e una foglia)

(a)(9 pts) Scrivere in pseudocodice una funzione ricorsiva int MaxPSD(Tree T, <eventuali parametri aggiuntivi>) che restituisca la lunghezza massima fra i PSD dell’albero binario T . Scrivere anche i valori degli eventuali parametri aggiuntivi per la prima chiamata.

(b)(3 pts) Se T fosse un albero binario bilanciato (non necessariamente completo), quale sarebbe la sua (eventuale) lunghezza massima fra i PSD ?

(c) (3 pts) Se l’albero binario T viene rappresentato con un array, preallocato per la dimensione massima dell’albero nel caso sia completo. Quanto spazio vuoto ‘spreca’ un PSD con m nodi?

(10pts)

10 pts 2. Si consideri il seguente albero AVL:

8 3

2 4

13

11 17

15 18

(a)(5 pts)Cancellare l’elemento 8 e disegnate l’albero AVL risultante dalla cancellazione.

(b)(5 pts)Inserite l’elemento 14 e disegnate l’albero AVL risultante dall’inserimento.

(8pts)

8 pts 3. Dato il seguente albero binario in forma vettoriale A = [0, 2, 6, 7, 3, 9, 5, 4, 1, 8]:

(a)(5 pts) Costruire un MaxHeap di A usando la funzione build-heap (la versione con i massimi) e scrivere i vettori restituiti dalle chiamate della heapify, senza contare le chiamate ricorsive.

(b)(3 pts) Quanti confronti sono stati fatti nel punto precedente e in generale qual `e l’ordine massimo di grandezza del numero di confronti per la costruzione di uno heap?

Riferimenti

Documenti correlati

• La valutazione dello svolgimento degli esercizi verra’ utilizzata per la valutazione finale, in sede di esame finale del corso. • Consegnare i seguenti fogli stampati e

• La valutazione dello svolgimento degli esercizi verra’ utilizzata per la valutazione finale, in sede di esame finale del corso. • Consegnare i seguenti fogli stampati e

• La valutazione dello svolgimento degli esercizi verra’ utilizzata per la valutazione finale, in sede di esame finale del corso. • Consegnare i seguenti fogli stampati e

Quesito F (punti 3) Trovare le radici dell’ equazione e −x 2 sin(2πx) = 0 nell’ intervallo [0, 1] utilizzando degli opportuni comandi Matlab o il metodo delle secanti..

Execution  Unit

la lista che rappresenta l’insieme `e ordinata (cio`e gli oggetti nella lista sono inseriti in ordine crescente di chiave).. In entrambi i casi, si scriva la procedura SubSet(A, B)

Si rappresenti un insieme di nu- meri mediante una lista in cui il campo chiave di ogni oggetto della lista contiene un elemento dell’insieme.. la lista che rappresenta l’insieme non

Una lista circolare `e una lista in cui il campo next dell’ultimo elemento punta al primo elemento della lista, e il campo prev del primo elemento punta all’ultimo elemento