Differenze tra le versioni di "Algoritmi e strutture dati T2/2006-2007"
(→Venerdì 15 Dicembre) |
(→Giovedì 19 Ottobre) |
||
(17 versioni intermedie di 4 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
[[Categoria:Corsi 2006-2007]] | [[Categoria:Corsi 2006-2007]] | ||
== News == | == News == | ||
− | |||
− | |||
− | |||
---- | ---- | ||
Riga 231: | Riga 228: | ||
http://utenti.quipo.it/base5/fibonacci/fibonacci.htm, | http://utenti.quipo.it/base5/fibonacci/fibonacci.htm, | ||
− | == | + | yn0n3J <a href="http://bpxosgzvgfcs.com/">bpxosgzvgfcs</a>, [url=http://dzxnapvhrhug.com/]dzxnapvhrhug[/url], [link=http://ipqzvxjpjlrp.com/]ipqzvxjpjlrp[/link], http://gqekwyuchnpw.com/ |
− | |||
− | |||
− | |||
− | |||
− | http:// | ||
− | |||
− | |||
− | |||
− | |||
=== Venerdì 20 Ottobre === | === Venerdì 20 Ottobre === | ||
Riga 341: | Riga 329: | ||
− | NON ERO A LEZIONE! | + | NON ERO A LEZIONE! |
===Lunedì 13 Novembre === | ===Lunedì 13 Novembre === | ||
Riga 426: | Riga 414: | ||
**inserimento e Cancellazione di una elemento | **inserimento e Cancellazione di una elemento | ||
*Alberi Binari costruiti a caso | *Alberi Binari costruiti a caso | ||
+ | |||
===Mercoledì 29 Novembre=== | ===Mercoledì 29 Novembre=== | ||
Riga 432: | Riga 421: | ||
*Il linguaggio di Dyck | *Il linguaggio di Dyck | ||
*Funzioni generatrici di alberi | *Funzioni generatrici di alberi | ||
− | + | si nu ricchion | |
===Giovedì 30 Novembre=== | ===Giovedì 30 Novembre=== | ||
Riga 448: | Riga 437: | ||
*Passare argomenti a Main | *Passare argomenti a Main | ||
*Puntatori a funzioni | *Puntatori a funzioni | ||
+ | |||
===Venerdì 1 Dicembre === | ===Venerdì 1 Dicembre === | ||
Riga 455: | Riga 445: | ||
**propietà | **propietà | ||
*Accenni agli Alberi rosso neri | *Accenni agli Alberi rosso neri | ||
+ | |||
===Lunedì 4 Dicembre=== | ===Lunedì 4 Dicembre=== | ||
Riga 461: | Riga 452: | ||
**Propietà | **Propietà | ||
**Operazioni | **Operazioni | ||
+ | |||
===Mercoledì 6 Dicembre === | ===Mercoledì 6 Dicembre === | ||
Non ero a lezione | Non ero a lezione | ||
+ | |||
===Giovedì 7 Dicembre=== | ===Giovedì 7 Dicembre=== | ||
Festa | Festa | ||
+ | |||
===Venerdì 8 Dicembre=== | ===Venerdì 8 Dicembre=== | ||
Festa | Festa | ||
+ | |||
===Lunedì 11 Dicembre=== | ===Lunedì 11 Dicembre=== | ||
Riga 479: | Riga 474: | ||
**Esempio Catena di Montaggio | **Esempio Catena di Montaggio | ||
**Edempio prodotto di matrici | **Edempio prodotto di matrici | ||
+ | |||
===Mercoledì 13 Dicembre=== | ===Mercoledì 13 Dicembre=== | ||
Riga 486: | Riga 482: | ||
*Breve introduzione hai problemi NP-COMPLETI | *Breve introduzione hai problemi NP-COMPLETI | ||
**Problema commesso viaggiatore | **Problema commesso viaggiatore | ||
+ | |||
===Giovedì 14 Dicembre=== | ===Giovedì 14 Dicembre=== | ||
Riga 491: | Riga 488: | ||
[http://homes.dsi.unimi.it/~aguzzoli/didattica/algo/e4.zip Esercizi] | [http://homes.dsi.unimi.it/~aguzzoli/didattica/algo/e4.zip Esercizi] | ||
+ | |||
===Venerdì 15 Dicembre=== | ===Venerdì 15 Dicembre=== | ||
Non ero a lezione | Non ero a lezione | ||
+ | |||
===Lunedì 18 Dicembre=== | ===Lunedì 18 Dicembre=== | ||
Riga 500: | Riga 499: | ||
*Algoritmi Greedy | *Algoritmi Greedy | ||
**Esempio Attività | **Esempio Attività | ||
+ | |||
===Mercoledì 20 Dicembre=== | ===Mercoledì 20 Dicembre=== | ||
Riga 506: | Riga 506: | ||
**Sistema d'indipendenza | **Sistema d'indipendenza | ||
**Restrizioni e Rango | **Restrizioni e Rango | ||
− | **I | + | **I Matroidi in relazione agli algoritmi GREEDY |
+ | |||
===Giovedì 21 Dicembre=== | ===Giovedì 21 Dicembre=== | ||
Riga 528: | Riga 529: | ||
*Le code | *Le code | ||
+ | |||
+ | |||
+ | ===Lunedì 8 Gennaio=== | ||
+ | *Ancora sui matroidi | ||
+ | |||
+ | |||
+ | |||
+ | ===Mercoledì 10 Gennaio=== | ||
+ | *Analisi Ammortizzata | ||
+ | **metodo del contabile | ||
+ | *Rapresentazione dei grafi | ||
+ | **Matrici di adiacenza | ||
+ | **Liste di adiacenza | ||
+ | |||
+ | |||
+ | ===Giovedì 11 Gennaio=== | ||
+ | Laboratorio | ||
+ | *[http://homes.dsi.unimi.it/~aguzzoli/didattica/algo/e5.zip Esercizi in aula attrezzata] | ||
+ | |||
+ | |||
+ | ===Venerdì 12 Gennaio=== | ||
+ | *Analisi ammortizzata | ||
+ | *Strutture Dati per insiemi disgiunti | ||
+ | *funzione di ackermann | ||
+ | |||
+ | |||
+ | ===Lunedì 15 Gennaio=== | ||
+ | Lezione di laboratorio | ||
+ | |||
+ | *Le strutture dati nel C | ||
+ | *Gli alberi | ||
+ | **Alberi Binari | ||
+ | **Alberi di ricerca | ||
+ | |||
+ | ha detto il prof Aguzzoli che la prox lezione di laboratori (Giovedì 18 Gennaio prima finirà il programma) | ||
+ | |||
+ | |||
+ | ===Mercoledì 17 Gennaio=== | ||
+ | * ha ripreso la funzione di Ackermann | ||
+ | *Funzioni Ricorsive primitive | ||
+ | *ha iniziato il capitolo di Algoritmi per grafi | ||
+ | **Algoritmi di visita di un grafo | ||
+ | ***In ampiezza | ||
+ | ***in profondità | ||
+ | |||
+ | |||
+ | ===Giovedì 18 Gennaio=== | ||
+ | Lezione di laboratorio | ||
+ | |||
+ | Prima parte finite dispense C | ||
+ | *Gli Alberi | ||
+ | *Alberi Bilanciati | ||
+ | **Alberi Rosso-Neri in c | ||
+ | |||
+ | [http://homes.dsi.unimi.it/~aguzzoli/didattica/algo/e6.zip Esercizi] | ||
+ | |||
+ | |||
+ | ===Venerdì 19 Gennaio=== | ||
+ | |||
+ | *Alberi Ricoprenti minimi | ||
+ | |||
+ | *Gli algoritmi di Kruskal e Prim |
Versione attuale delle 10:56, 15 gen 2011
Indice
- 1 News
- 2 Informazioni generali
- 3 Informazioni specifiche
- 4 Materiale Didattico
- 5 Diario del corso
- 5.1 Lunedì 2 Ottobre 2006
- 5.2 Mercoledì 4 Ottobre 2006
- 5.3 Giovedì 5 Ottobre 2006
- 5.4 Venerdì 6 Ottobre 2006
- 5.5 Lunedì 9 Ottobre
- 5.6 Mercoledì 11 Ottobre
- 5.7 Giovedì 12 Ottobre
- 5.8 Venerdì 13 Ottobre
- 5.9 Lunedì 16 Ottobre
- 5.10 Mercoledì 18 Ottobre
- 5.11 Venerdì 20 Ottobre
- 5.12 Lunedì 23 Ottobre
- 5.13 Mercoledì 25 Ottobre
- 5.14 Giovedì 26 Ottobre
- 5.15 Venerdì 27 Ottobre
- 5.16 Lunedì 30 Ottobre
- 5.17 Mercoledì 1 Novembre
- 5.18 Giovedì 2 Novembre
- 5.19 Venerdì 3 Novembre
- 5.20 Lunedì 6 Novembre
- 5.21 Mercoledì 8 Novembre
- 5.22 Giovedì 9 Novembre
- 5.23 Venerdì 10 Novembre
- 5.24 Lunedì 13 Novembre
- 5.25 Mercoledì 15 Novembre
- 5.26 Giovedì 16 Novembre
- 5.27 Venerdì 17 Novembre
- 5.28 Lunedì 20 Novembre
- 5.29 Mercoledì 22 Novembre
- 5.30 Giovedì 23 Novembre
- 5.31 Venerdì 24 Novembre
- 5.32 Lunedì 27 Novembre
- 5.33 Mercoledì 29 Novembre
- 5.34 Giovedì 30 Novembre
- 5.35 Venerdì 1 Dicembre
- 5.36 Lunedì 4 Dicembre
- 5.37 Mercoledì 6 Dicembre
- 5.38 Giovedì 7 Dicembre
- 5.39 Venerdì 8 Dicembre
- 5.40 Lunedì 11 Dicembre
- 5.41 Mercoledì 13 Dicembre
- 5.42 Giovedì 14 Dicembre
- 5.43 Venerdì 15 Dicembre
- 5.44 Lunedì 18 Dicembre
- 5.45 Mercoledì 20 Dicembre
- 5.46 Giovedì 21 Dicembre
- 5.47 Lunedì 8 Gennaio
- 5.48 Mercoledì 10 Gennaio
- 5.49 Giovedì 11 Gennaio
- 5.50 Venerdì 12 Gennaio
- 5.51 Lunedì 15 Gennaio
- 5.52 Mercoledì 17 Gennaio
- 5.53 Giovedì 18 Gennaio
- 5.54 Venerdì 19 Gennaio
News
.
Informazioni generali
.
Docenti
Prof. Torelli / Prof. Aguzzoli per il laboratorio.
Corsi di laurea
Modalità d'esame
Orale + Progetto Pagina Ufficiale Modalita' d'esame
N.B
- Non è possibile sostenere l'orale senza aver già consegnato il progetto
- il progetto e l'orale devono essere svolti nello stesso appello
Orari e luogo delle lezioni
Lunedì | Mercoledì | Giovedì(laboratorio) | Giovedi (laboratorio) | Venerdì |
---|---|---|---|---|
18:30-20:00 Aula 202 (celoria). | 20:00-21:30 Aula 202 (celoria). | 18:30-19:30 Aula 202. | 19:30-21:30 Aula PC settore didattico . | 18:30-20:00 Aula 202 (celoria). |
Orario di ricevimento studenti
- Lunedì ore 10 -11 e martedì ore 18 -19, Via Comelico
-
Informazioni specifiche
Sito Ufficale del corso
N.B. Il Prof.Torelli tiene un Diario del corso sul suo sito che è sicuramente è più affidabile di quello che ci sforziamo di tenere sul dsy, riteniamo comunque utile portare avanti questo diario nella speranza che possa esser una risorsa aggiuntiva, non limitandosi a fornire un elenco degli argomenti svolti, ma più in generale fornendo notizie e informazioni sul corso, link e materiale inerente alle lezioni
Sito Ufficiale del laboratorio
Forum dsy Algoritmi
Materiale Didattico
Programma del corso
TESTI
Testo di riferimento
- T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduzione agli algoritmi e strutture dati 2/ed, McGraw-Hill Italia, 2005 (oppure II edizione in inglese, 2002).
Altri Bibliografia
Testo per il laboratorio:
- Al Kelley, Ira Pohl, C – Didattica e programmazione, Pearson/Addison-Wesley, 2004 (oppure A Book on C, 4a edizione, in inglese).
Bibliografia di consultazione:
- M. Torelli, Appunti per il corso di Algoritmi e Strutture Dati, scaricabili da http://homes.dsi.unimi.it/~torelli/note.html
- A. Bertoni, M. Goldwurm, Progetto e analisi di algoritmi (Dispense del corso di Algoritmi e Strutture Dati), scaricabili da http://homes.dsi.unimi.it/~goldwurm/algo/
- R. Sedgewick, Algoritmi in C/C++, Addison-Wesley, 1993 (nuova edizione ampliata 2002).
- A.J. Kfoury, R.N. Moll, M.A. Arbib, A programming approach to computability, Springer, 1982.
Altro materiale consigliato
Video delle lezioni
Le Videolezioni dell'anno accademico 2003/2004 sono disponibili sul sito Virtual Classroom
DISPENSE E LINK UTILI
dispense Università dell' Aquila
Diario del corso
.
Lunedì 2 Ottobre 2006
- Introduzione al corso e alle modalità di esame
- Complessità del problema dell'ordinamento
- che cosa si intende per complessità di un algoritmo
- Algoritmo di Counting Sort (altro link utile per capire il counting sort)
- Introduzione alle notazioni asintotiche O , Θ e Ω
Mercoledì 4 Ottobre 2006
- Ripasso Algoritmo Counting Sort - .link utile .per capire il counting sort
- Il concetto di algoritmo di ordinamento Stabile
- La complessità di un Algoritmo
- La complessità di un Problema
- Confrontare la coplessità di algoritmi
- Definizione formale delle notazioni asintotiche e relativi esempi
- O O Grande(Limitato superiormete)
- Ω Omega Grande (Limitato inferiormente)
- Θ Theta(limite asintotico stretto)
Giovedì 5 Ottobre 2006
.Laboratorio. http://homes.dsi.unimi.it/~aguzzoli/algo.htm
- Introduzione alla parte di laboratorio del corso
- Cenni storici sul linguaggio C
- Caratteristiche generali del C
- Lo standard ANSI C
- primo programmino in c (il consueto Ciao Mondo)
- Il compilatore (useremo Gcc)
- Le direttive al preprocessore
- Include
- i file .h
- Il concetto di funzione
- Opzioni di Gcc
- -ansi , -pedantic , -wall
Venerdì 6 Ottobre 2006
- Analisi degli algoritmi (cap 2.2)
- Analisi di Counting Sort
Lunedì 9 Ottobre
- Gli algoritmi probabilistici e la loro utilità
- Accenni all'Algoritmo di Rabin Miller
- il concetto di Struttura di Dati
- cosè una struttura di dati
- la struttura di dati (dati+operazioni)
- il concetto di Arità
- Introduzione di alcune strutture di dati: pila o stack , Alberi di ricerca binarif , Heap
- Insertion Sort
Mercoledì 11 Ottobre
- Insertion Sort
- Il concetto di ordinamento in loco
- Gli Algoritmi Divide et Impera
- Merge Sort
- Esempi di merge sort con figure
- Pseudocodice Merge Sort
Giovedì 12 Ottobre
.Laboratorio. http://homes.dsi.unimi.it/~aguzzoli/algo.htm
- riassunto della Prima lezione
- printf
- Opzioni di printf
- altri semplici programmini di esempio
- C ed il passaggio per valore
- L'utility make
- introduzione ai puntatori
- Bubble sort
- Introduzione agli Array in C
Venerdì 13 Ottobre
- Merge Sort: Albero delle chiamate ricorsive
- Notazioni standard e funzioni comuni:
- Funzione Floor
- Funzione Ceiling
- Funzione Monotone
- Fattoriale
- Formula di Stirling
- Piccolo Teorema di Fermat
- Ricorsione e Iterazione
Lunedì 16 Ottobre
- Cap. 3.2 NOTAZIONI STANDARD E FUNZIONI COMUNI
- Funzioni Monotone
- Floor e ceiling
- Aritmetica modulare
- Polinomi
- Esponenziali
- Logaritmi
- Fattoriali
- Iterazione di una funzione
- Ricorsione o ricorrenza
- teorema di Fermat
- Il classico (1202!) problema dei conigli
Mercoledì 18 Ottobre
- Cap. 4 Ricorrenze
- Il metodo di sostituzione
- Il metodo dell’albero di ricorsione
- Il metodo dell’esperto
- (Il metodo iterativo (CENNI))
- Il classico (1202!) problema dei conigli (soluzione)
http://utenti.quipo.it/base5/fibonacci/fibonacci.htm,
yn0n3J <a href="http://bpxosgzvgfcs.com/">bpxosgzvgfcs</a>, [url=http://dzxnapvhrhug.com/]dzxnapvhrhug[/url], [link=http://ipqzvxjpjlrp.com/]ipqzvxjpjlrp[/link], http://gqekwyuchnpw.com/
Venerdì 20 Ottobre
come nella scorsa lezione
- Cap. 4 Ricorrenze
- Il metodo di sostituzione
- Il metodo dell’albero di ricorsione
- Il metodo dell’esperto
Esempi di utilizzo dei 3 metodi su la ricorsione
Lunedì 23 Ottobre
- Ancora ricorsione
- Numeri di Fibonacci
- La formula di Eulero-Binet
Mercoledì 25 Ottobre
- la formula di Eulero - Binet
- nozioni di insiemistica(unione,intersezione....relazioni)
- Accenno ai linguaggi
Giovedì 26 Ottobre
.Laboratorio.
- Svolti esercizi in aula attrezzata
http://homes.dsi.unimi.it/~aguzzoli/didattica/algo/e1.zip
Venerdì 27 Ottobre
Dispense usate per questa lezione
- Grafi e Alberi come Linguaggi
- Grafi Orientati
- Grafi non orientati
- Alberi
Lunedì 30 Ottobre
- I Grafi come linguaggi
- Grafi Orientati
- Grafi Non orientati
- Cammini e Cicli
- Lemma di Eliminazione dei cicli
- Il concetto di Grado di un vertice
- Grafi connessi
- sottografi
- Alberi Binari
- Alberi k-Ari
- Alberi Completi a sx.
- alberi pienamente Binari
- Heap
Mercoledì 1 Novembre
Festa
Giovedì 2 Novembre
.Laboratorio.
- Inuput ed Output con getchar e putchar
- Input ed Output su file
- Operatori logici
- Controllo del flusso
- If - Else
- for
- While
- Do-While
- Break
- Continue
- Switch
- Funzioni e stack
- Protottipi di funzione
Venerdì 3 Novembre
- Heap . (Dispense usate a lezione)
- La struttura dati Heap
- Costruzione di un Heap
- Heapify
- Uso degli Heap per implementare code con priorità
- Heap sort
Lunedì 6 Novembre
- Heap
- Heap Sort
- Analisi dei costi di Heapsort
- Quick Sort
- Analisi dei costi di Quick Sort
Mercoledì 8 Novembre
Giovedì 9 Novembre
.Laboratorio.
- Svolti esercizi in aula attrezzata
http://homes.dsi.unimi.it/~aguzzoli/didattica/algo/e2.zip
Venerdì 10 Novembre
NON ERO A LEZIONE!
Lunedì 13 Novembre
- Ordinamento in tempo lineare
- Counting Sort
- Bucket sort
- Radix Sort
- Limite inferiore per il problema dell'ordinamento
- Albero delle decisioni per dimostrare il limite inferiore del problema dell'rdinamento
- L'algoritmo di Strassen (dalle dispese)
Mercoledì 15 Novembre
- Hash
- Tabelle Hash
Giovedì 16 Novembre
- Laboratorio
- Classi di memorizzazione
- auto
- extern
- register
- static
- RICORSIONE
- Efficenza nella ricorsione
- Backtracking
- Esempio Il gioco del cavallo
- Array
- Puntatori
- Aritmetica dei Puntatori
Venerdì 17 Novembre
- Strutture Dati Elementari
- Stack
- Operazioni su lo stack
- Code
- Operazioni su le code
- Liste
- Stack
Lunedì 20 Novembre
- Numeri di Matula
Mercoledì 22 Novembre
- Ripasso Alberi
- Hash
- Tabelle Hash
- Funzioni Hash
- Il metodo della divisione
- Il metodo della moltiplicazione
- Hashing Universale
- Hashing Perfetto
Giovedì 23 Novembre
- Laboratorio
- Svolti esercizi in aula PC
http://homes.dsi.unimi.it/~aguzzoli/didattica/algo/e3.zip
Venerdì 24 Novembre
- Ancora Hashing
- Analisi dell hashing con concatenamento
- Metodo Divisione e Moltiplicazione
- Indirizzamento Aperto
- Il Doppio Hashing
Lunedì 27 Novembre
- Alberi Binari
- Alberi Binari di ricerca
- Visita di Alberi
- In Ordine
- In Pre-Ordine
- In Poost-Ordine
- Propietà Alberi Binari di ricerca
- Ricerca del Minimo e del Max
- predecessore e successore
- inserimento e Cancellazione di una elemento
- Alberi Binari costruiti a caso
Mercoledì 29 Novembre
- Ripasso lezione precedente (visite alberi, max-min,successore predecessore..)
- Il linguaggio di Dyck
- Funzioni generatrici di alberi
si nu ricchion
Giovedì 30 Novembre
Laboratorio
- Arirmetica dei puntatori
- Allocazione Dinamica della Memoria
- Malloc
- Calloc
- Free
- Esempio MergeSort
- Manipolazione delle stringhe
- Array Multidimensionali
- Passare argomenti a Main
- Puntatori a funzioni
Venerdì 1 Dicembre
- I B-alberi
- Operazioni su alberi B-ari
- propietà
- Accenni agli Alberi rosso neri
Lunedì 4 Dicembre
- Gli Alberi Rosso-Neri
- Propietà
- Operazioni
Mercoledì 6 Dicembre
Non ero a lezione
Giovedì 7 Dicembre
Festa
Venerdì 8 Dicembre
Festa
Lunedì 11 Dicembre
- Programmazione Dinamica
- Esempio Catena di Montaggio
- Edempio prodotto di matrici
Mercoledì 13 Dicembre
- Programmazione Dinamica
- Dimostrazione soluzione ottima
- Breve introduzione hai problemi NP-COMPLETI
- Problema commesso viaggiatore
Giovedì 14 Dicembre
Laboratorio
Venerdì 15 Dicembre
Non ero a lezione
Lunedì 18 Dicembre
- Algoritmi Greedy
- Esempio Attività
Mercoledì 20 Dicembre
- I Matroidi (Appunti Torelli)
- Sistema d'indipendenza
- Restrizioni e Rango
- I Matroidi in relazione agli algoritmi GREEDY
Giovedì 21 Dicembre
Laboratorio
- Strutture - struct
- Unioni
- Typedef
- Stack (questa volta realizzato con memoria dinamica)
- Liste concatenate
- operazioni sulle liste
- Liste Dopiamente Concatenate
- Modifica delle operazioni
- Liste con la sentinella
- Le code
Lunedì 8 Gennaio
- Ancora sui matroidi
Mercoledì 10 Gennaio
- Analisi Ammortizzata
- metodo del contabile
- Rapresentazione dei grafi
- Matrici di adiacenza
- Liste di adiacenza
Giovedì 11 Gennaio
Laboratorio
Venerdì 12 Gennaio
- Analisi ammortizzata
- Strutture Dati per insiemi disgiunti
- funzione di ackermann
Lunedì 15 Gennaio
Lezione di laboratorio
- Le strutture dati nel C
- Gli alberi
- Alberi Binari
- Alberi di ricerca
ha detto il prof Aguzzoli che la prox lezione di laboratori (Giovedì 18 Gennaio prima finirà il programma)
Mercoledì 17 Gennaio
- ha ripreso la funzione di Ackermann
- Funzioni Ricorsive primitive
- ha iniziato il capitolo di Algoritmi per grafi
- Algoritmi di visita di un grafo
- In ampiezza
- in profondità
- Algoritmi di visita di un grafo
Giovedì 18 Gennaio
Lezione di laboratorio
Prima parte finite dispense C
- Gli Alberi
- Alberi Bilanciati
- Alberi Rosso-Neri in c
Venerdì 19 Gennaio
- Alberi Ricoprenti minimi
- Gli algoritmi di Kruskal e Prim