• Non ci sono risultati.

Esercizi Domande AlgoritmieStruttureDati-15Luglio2015

N/A
N/A
Protected

Academic year: 2021

Condividi "Esercizi Domande AlgoritmieStruttureDati-15Luglio2015"

Copied!
1
0
0

Testo completo

(1)

Algoritmi e Strutture Dati - 15 Luglio 2015

Cognome . . . Nome . . . Matricola . . . .

1. La leggibilit`a `e un prerequisito: parti difficili da leggere potranno essere ignorate.

2. Quando si presenta un algoritmo `e fondamentale spiegare l’idea soggiacente il suo funzionamento e motivarne la correttezza.

Domande

Domanda A (5 punti) Mostrare che la ricorrenza T (n) = T (n/2)+T (n/4)+n ammette soluzione T (n) = Θ(n) utilizzando il metodo di sostituzione.

Domanda B (5 punti) Dare la definizione di B-albero. Qual `e la minima altezza di un B-albero con grado minimo t contenente n chiavi? Motivare le risposte.

Domanda C (5 punti) Scrivere una funzione blackHeight(T ) che dato in input un albero binario di ricerca T , i cui nodi x hanno, oltre ai campi x.key, x.lef t e x.right, hanno un campo x.col che pu`o essere B (per “black”) oppure R (per “red”), verifica se per ogni nodo, il cammino da quel nodo a qualsiasi foglia contiene lo stesso numero di nodi neri (altezza nera). In caso negativo, restituisce −1, altrimenti restituisce l’altezza nera della radice.

Esercizi

Esercizio 1 (9 punti) Dato un array di interi A[1..n], chiamiamo gap un indice i ∈ [1, n) tale che A[i + 1] − A[i] > 1.

i. Mostrare per induzione su n che un array A[1..n] tale che A[n] − A[1] > n (quindi n ≥ 2) contiene almeno un gap.

ii. Fornire lo pseudocodice di una procedura ricorsiva divide et impera gap che dato un array A[1..n] tale che A[n] − A[1] > n restituisce un gap in A.

iii. Valutare la complessit`a della funzione, utilizzando il master theorem.

Esercizio 2 (9 punti) Si supponga di voler viaggiare dalla citt`a A alla citt`a B con un’auto che ha un’autonomia pari a d km. Lungo il percorso si trovano n − 1 distributori D1, . . . , Dn−1, a distanze di d1, . . . , dn km (di≤ d) come indicato in figura

D0= A d1 D1 d2 D2 Dn−1 dn Dn= B

L’auto ha inizialmente il serbatoio pieno e l’obiettivo `e quello di percorrere il viaggio da A a B, minimizzando il numero di soste ai distributori per il rifornimento.

i. Introdurre la nozione di soluzione per il problema e di costo della una soluzione. Mostrare che vale la propriet`a della sottostruttura ottima e individuare una scelta che gode della propriet`a della scelta greedy.

ii. Sulla base della scelta greedy individuata al passo precedente, fornire un algoritmo greedy stop(d, n) che dato in input l’array delle distanze d[1..n] restituisce una soluzione ottima.

iii. Valutare la complessit`a dell’algoritmo.

Riferimenti

Documenti correlati

Domanda 9) Sia f una funzione reale di variabile reale.. Domanda 9) Sia f una funzione reale di variabile reale.. Domanda 9) Sia f una funzione reale di

Per ω > 0 possiamo usare il Lemma di Jordan del grande cerchio, integrando su una semicirconferenza nel semipiano Imz < 0 con diametro

Ho tralasciato i calcoli che non hanno dato grandi problemi, che comunque sono parte della risoluzione richiesta, concentrandomi invece sul procedimento da

METODI MATEMATICI PER L’INGEGNERIA

Ho tralasciato i calcoli che non hanno dato grandi problemi, che comunque sono parte della risoluzione richiesta, concentrandomi invece sul procedimento da usare1. Dato che

By using this fact one can obtain them in explicit form... The σ i are the singular values

[r]

[r]