Inizio della pagina -
Logo DISCO
|
Visita la Versione ad elevata leggibilità
|
Vai al Contenuto della pagina
|
Vai alla Fine dei contenuti
|
Vai al Menu Principale
|
Vai alla Barra di navigazione (sei in)
|
Vai al Menu di navigazione (albero)
|
Vai alla Lista dei comandi
|
Vai alla Lista degli approfondimenti
|
Vai al Menu inferiore
|
Logo Ateneo
   
Per gli Studenti
Algoritmi e strutture dati

Codice ins.

Insegnamento

CFU ins.

Tipo ins.

Anno

Sem.

SSD ins.

Responsabile insegnamento

E3101Q107

Algoritmi e strutture dati

8

OBB

1

2

INF/01

ZANDRON Claudio

 

Algorithms and Data Structures

 

 

 

 

 

 

Docente turno A-L: Zandron Claudio
Docente turno M-Z: Bonizzoni Paola

Contenuti:
Metodologie di base per progettare algoritmi e analizzarne l’efficienza; strutture dati fondamentali: definizioni e utilizzo

Obiettivi dell’insegnamento:
Progettare e implementare algoritmi efficienti, scegliendo in modo opportuno le strutture dati da utilizzare

Prerequisiti:
Nozioni base di programmazione

Metodi didattici:
Lezioni frontali, esercitazioni e approfondimenti in laboratorio. Attivita' di studio individuali supportate da materiali didattici in E-learning.

 Programma:

  • Introduzione: Algoritmo, problema, istanza
  • Analisi di algoritmi: Valutazione dei tempi di esecuzione, caso pessimo, ottimo e medio,
  • Programmazione ricorsiva
  • Approccio Divide-et-Impera
  • Algoritmo Quick sort
  • Valutazione del tempo di esecuzione di algoritmi ricorsivi: equazioni di ricorrenza
  • Algoritmo di ordinamento Heapsort
  • Altri algoritmi di ordinamento: Ordinamento in tempo lineare
  • Tipi astratti di dati e strutture dati
  • Liste concatenate
  • Pile (stack)
  • Code (queue)
  • Insiemi
  • Alberi
  • Alberi binari
  • Tabelle di hash

 

Testi consigliati:
T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduzione agli Algoritmi e Strutture dati, Ed. Mc. Graw Hill

Modalità di esame:

Scritto + Orale

Tipo di valutazione:

voto finale

Contents:
Basic techniques to develop algorithms and to analyse their efficiency, and introduction to the use of fundamental data structures

 Objectives:
Students will learn to design and implement efficient algorithms, making use of the most appropriate data structure

Prerequisiti:
Basic of computer programming

Metodi didattici:
Theoretical lectures, exercises,and practical implementation of  proposed alghorithms.
Further exercises are available online, through an E-learning website.

Main topics
:

  • Introduction and basic definitions: algorithm, problem, instance
  • Computational complexity analysis of algorithms
  • Recursive programming technique
  • Divide-and conquer programming technique
  • Sorting algorithm: Quicksort
  • Recursive equations
  • Sorting algorithm: Heapsort
  • Sorting in linear time
  • Abstract Data types
  • Linked lists
  • Stack
  • Queue
  • Sets implementation
  • Trees
  • Binary trees
  • Hash tables

Examination:
Written + oral examination

Type of evaluation:
Final mark

Approfondimenti

Google Translate
Translate to English Translate to French Translate to German Translate to Spanish Translate to Chinese Translate to Portuguese Translate to Arabic
Translate to Albanian Translate to Bulgarian Translate to Croatian Translate to Czech Translate to Danish Translate to Dutch Translate to Finnish Translate to Greek Translate to Hindi
Translate to Hungarian Translate to Irish Translate to Japanese Translate to Korean Translate to Norwegian Translate to Polish Translate to Romanian Translate to Russian Translate to Serbian
Translate to Slovenian Translate to Swedish Translate to Thai Translate to Turkish

(C) Copyright 2016 - Dipartimento Informatica Sistemistica e Comunicazione - Viale Sarca, 336
20126 Milano - Edificio U14
redazioneweb@disco.unimib.it - ultimo aggiornamento di questa pagina 25/06/2015