Algoritmi e strutture dati - Laboratorio (2004/2005)

Corso disattivato non visibile

Per visualizzare la struttura dell'insegnamento a cui questo modulo appartiene, consultare * organizzazione dell'insegnamento

Orario lezioni

Obiettivi formativi

Nel corso vengono raffinate le conoscenze dello studente circa la pratica della programmazione a oggetti, soprattutto nell'implementazione di algoritmi e strutture dati avanzate. Le lezioni sono svolte in linguaggio Java di cui si assume una conoscenza di base.

Programma

Il corso di laboratorio viene svolto in 24 ore di esercitazione in laboratorio suddivise in 8 lezioni da 3 ore ciascuna. Si ricorda che il corso vale 2 CFU, per cui sono previste ulteriori 25 ore di lavoro individuale da svolgersi presso i laboratori didattici.

Lezione 1: Uso del meccanismo dell'Interfaccia. Esempio di applicazione con l'implementazione dell'ADT Lista, Coda e Pila.

Lezione 2: Uso dell'interfaccia Comparable. Implementazione degli algoritmi di ordinamento per inserimento (InsertionSort) e per passo calante (ShellSort).

Lezione 3: Tecniche di confronto di implementazioni. Confronto tra due implementazioni di algoritmi di ordinamento: QuickSort e MergeSort.

Lezione 4: Implementazioni dell'ADT HashTable.

Lezione 5: Implementazione di un algoritmo di programmazione dinamica: ricerca massima sottosequenza comune (MaxSSC).

Lezione 6: Implementazioni dell'ADT Albero e Albero di ricerca binario. Uso dell'interfaccia Iterator. Implementazioni metodi di visita.

Lezione 7: Implementazione di un algoritmo greedy: algoritmo di Kruskal.

Modalità d'esame

L'esame di algoritmi e strutture dati è unico per entrambe i moduli di teoria e laboratorio. L'esercitazione scritta prevista per l'esame prevede un esercizio che verifica la capacità di formulare un algoritmo nel linguaggio Java. Si vedano le modalità di esame del modulo di teoria per le condizioni di superamento dell'esercitazione scritta e per le modalità di svolgimento del successivo esame orale.

Materiale didattico

Documenti

Condividi