Page begin -
Logo DISCO
|
Go to the Highly accessible area
|
Go to the Content page
|
Go to the End of content
|
Go to the Main menu
|
Go to the Navigation Bar (location)
|
Go to the Navigation menu (tree)
|
Go to the Commands list
|
Go to the Further readings
|
Go to the Bottom Menu
|
Logo Ateneo
   
Education
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

Further readings
(C) Copyright 2016 - Dipartimento Informatica Sistemistica e Comunicazione - Viale Sarca, 336
20126 Milano - Edificio U14
redazioneweb@disco.unimib.it - last update of this page 25/06/2015