This is an old revision of the document!


Teoria Algoritmi e Strutture Dati


  • Inserisci qui la data: Inserisci qui il testo
  • 29 Febraio 2016: La pagina del corso è online

Docente:

Orario delle Lezioni:

  • Martedì 09 - 11 (Aula, A. Turing)
  • Mercoledì 09 - 11 (Aula, A. Turing)

Ricevimento studenti:

  • Lunedì 17:30 - 19:30 Palazzo Battibocca - 2nd Piano - stanza n.CS-05

D1 - CONOSCENZA E CAPACITÀ DI COMPRENSIONE

  • Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:
  1. Comprendere la nozione di complessità computazionale di un algoritmo in tempo e in spazio
  2. Illustrare le principali tecniche di progettazione di algoritmi
  3. Conoscere le strutture dati di base e le principali strutture dati evolute per risolvere problemi specifici di ricerca e rappresentazione di strutture complesse

D2 - CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE

  • Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:
  1. Applicare le principali tecniche di progettazione di algoritmi
  2. Classificare ed analizzare gli algoritmi in base alla loro complessità computazionale
  3. Ideare e implementare algoritmi per risolvere problemi specifici utilizzando le tecniche e le strutture dati conosciute

D3 - AUTONOMIA DI GIUDIZIO

  • Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:
  1. Scegliere (ed implementare) le strutture dati più adatte alla risoluzione di un dato problema realizzando opportuni compromessi tra esigenze conflittuali come costo, semplicità ed efficienza.

D4 - ABILITÀ COMUNICATIVE

  • Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:
  1. Produrre una relazione dettagliata sull’ideazione e l’implementazione di un progetto
  2. Avere la capacità di lavorare in gruppo per la realizzazione di un progetto

D5 - CAPACITÀ DI APPRENDIMENTO

  • Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:
  1. Ricercare, comprendere e implementare algoritmi e strutture dati esistenti, ma non trattati nel corso, per la risoluzione di problemi specifici

  • Tecniche di base per l'analisi della complessità computazionale: analisi asintotica
  • Tecniche di progetto (divide-et-impera, golosa, dinamica)
  • Analisi degli algoritmi e delle strutture dati di base
  • Algoritmi fondamentali (ricerca, ordinamento, ecc)
  • Alberi: visite, alberi binari di ricerca, alberi bilanciati
  • Grafi: rappresentazione, algoritmi di visita
  • Algoritmi su grafi (cammini minimi, minimo albero ricoprente, ecc.)

Slide del Corso

Testi di Riferimento

  • T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduzione agli Algoritmi e Strutture Dati, McGraw-Hill, 2005
  • C. Toffalori, F. Corradini, S. Leonesi, S. Mancini, Teoria della computabilità e della complessità, McGraw-Hill, 2005

Date Esami A.A. 2015/2016

  • 1a sessione
  • 2a sessione
  • 3a sessione
  • 4a sessione

Regole di esame:

Risultati Esame

  • N/A