• Non ci sono risultati.

Corso di “Algoritmi e Strutture Dati” 19 Settembre 2006

N/A
N/A
Protected

Academic year: 2021

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

Copied!
1
0
0

Testo completo

(1)

Laurea Specialistica in “Bioinformatica”

Corso di “Algoritmi e Strutture Dati”

19 Settembre 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 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 contenenti un elemento dispari.

2. Si descriva a parole o attraverso pseudo-codice la procedura Breadth-First-Search (BFS) 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. Si descriva la struttura di dati Merge-Find-Set (MFSET), con le operazioni tipicamente utilizzate, la sua implementazione attraverso una memorizzazione efficiente, e si illustri un esempio di algoritmo dove l’utilizzo di tale struttura è vantaggiosa.

4. Descrivere la tecnica DIVIDE-ET-IMPERA per la progettazione di algoritmi, illustrando inoltre un esempio di algoritmo basato su tale tecnica.

Riferimenti

Documenti correlati

Dato un albero binario si descriva a parole o attraverso pseudo-codice il procedimento di visita, evidenziando in modo dettagliato le differenze tra

Esistono due classi di memoria: automatica e statica La classe di memoria automatica è relativa a quegli oggetti locali ad un blocco (funzione o programma) che viene liberata

L Insertion Sort è uno algoritmo di ordinamento molto efficiente per ordinare un piccolo numero di elementi. L idea di ordinamento è quella che potrebbe usare un persona

L’array A[p…r] viene “suddiviso” in due sotto- array “non vuoti” A[p… q] e A[q+1…r] in cui ogni elemento di A[p…q] è minore o uguale ad ogni elemento

Lo scopo del gioco è quello di trasferire i dischi dal paletto di sinistra a quello di destra, senza mai mettere un disco su un altro di dimensione più piccola4. Regole

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