• Non ci sono risultati.

Corso di “Algoritmi e Strutture Dati” 19 Luglio 2006

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di “Algoritmi e Strutture Dati” 19 Luglio 2006"

Copied!
1
0
0

Testo completo

(1)

Laurea Specialistica in “Bioinformatica”

Corso di “Algoritmi e Strutture Dati”

19 Luglio 2006

1. Tempo disponibile 180 minuti. È ammesso ritirarsi entro 90 minuti.

2. Sono ammessi al più 3 scritti consegnati tra Giugno 2006 e Febbraio 2007.

3. Non è possibile consultare appunti, libri o persone, né uscire dall’aula.

4. Per raggiungere la sufficienza occorrono almeno 2 esercizi risolti senza alcun errore.

5. Le soluzioni degli esercizi devono:

a. spiegare a parole l’algoritmo usato (anche con eventuali disegni)

b. commentare l’eventuale pseudo-codice (dettagliando il significato delle variabili)

c. spiegarela complessità ( il tempo richiesto dall’algoritmo)

1. Dato un albero binario si descriva a parole o attraverso pseudo-codice il procedimento di visita, evidenziando in modo dettagliato le differenze tra pre-visita, in-visita e post-visita e discutendone la complessità. Si disegni inoltre un albero binario la cui in-visita risulta essere: 9, 4, 5, 1, 31, 27, 7, giustificando la risposta.

2. Si descriva a parole o attraverso pseudo-codice la procedura Depth-First-Search (DFS) vista a lezione, discutendone la complessità. Si esegua inoltre la procedura DFS sul grafo non orientato G=(N,A), N={1,2,3,4,5,6}, A={[1,4],[1,5],[2,3],[2,6],[3,4],[4,5],[5,6]} a partire dal nodo 1, assumendo che i vettori di adiacenza siano ordinati in modo crescente e mostrandone il contenuto.

3. Data la struttura di dati astratta di tipo insieme, discutere varie implementazioni della struttura di dati concreta. Per ognuna delle implementazioni proposte si illustri il funzionamento delle operazioni di cancellazione, inserimento e ricerca di un elemento.

Descrivere inoltre per ogni singola implementazione il costo delle varie operazioni.

4. Descrivere la tecnica GREEDY per la progettazione di algoritmi, illustrando inoltre un esempio di algoritmo basato su tale tecnica.

Riferimenti

Documenti correlati

costruire un albero binario di ricerca Marco Lapegna – Laboratorio di Programmazione 2 Cenni agli alberi. procedura ricerca(in: radice, e;

● Dato un grafo non orientato G = (V, E) composto da K componenti connesse, etichettare ogni nodo v con un intero v.cc scelto tra {0, 1, … K - 1} in modo tale che due nodi abbiano

Dato un albero binario in cui ogni nodo contiene un elemento intero, si descriva a parole o attraverso pseudo-codice un procedimento per individuare e cancellare tutte le foglie

Domanda C (5 punti) Dato un albero nel quale i nodi contengono una chiave, si definisca costo di un cammino dalla radice ad una foglia, come la somma delle chiavi dei nodi che

Date le dipendenze tra gli indici nella ricorrenza, un modo corretto di riempire la tabella ` e attra- verso una scansione “reverse column-major”, in cui calcoliamo gli elementi

Dato un nodo v di T, definiamo S OMMA Z ERO di v la proprietà per cui la somma degli elementi contenuti nel figlio sinistro e nel figlio destro di v, se esistono entrambi,

Si scriva la procedura Pascal I NSERTION S ORT vista a lezione per ordinare gli n elementi A[1],...,A[n] di un vettore e se ne dimostri la complessità.. Scrivere

Si scriva una procedura Pascal di complessità ottima, utilizzando gli operatori visti a lezione, per modificare L in modo che contenga, nello stesso ordine, tutti e soli i