Date post: | 01-May-2015 |
Category: |
Documents |
Upload: | biagino-bonfanti |
View: | 214 times |
Download: | 0 times |
1© Alberto Montresor 1
Algoritmi e Strutture DatiIntroduzione al corso
Alberto MontresorUniversità di Trento
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.5/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.
2© Alberto Montresor 2
Cos’è un informatico?Cos’è un informatico?
Slide (c) Jeff Edmonds, [email protected]
3© Alberto Montresor 3
L’azienda vi assegna un compito...
✦Input:✦Un vettore di interi X[1...n]
✦Output✦Il sottovettore X[i … j] la cui somma degli elementi è massima fra tutti i sottovettori
4© Alberto Montresor 4
La vostra risposta...La vostra risposta...
Um? Mi dica che programma devo scrivere!
All'università ho imparato questo magnifico algoritmo!
Posso sviluppare un nuovo algoritmo per lei!
Slide (c) Jeff Edmonds, [email protected]
5© Alberto Montresor 5
L’azienda vi assegna un compito...
✦Input:✦Un vettore di interi X[1...n]
✦Output✦Il sottovettore X[i … j] la cui somma degli elementi è massima fra tutti i sottovettori
✦Domande✦Il problema è specificato a sufficenza?
✦Riuscite a risolverlo?
✦Riuscite a risolverlo in maniera efficiente?
6© Alberto Montresor
Versione 1 - O(n3)
6
7© Alberto Montresor
Versione 2 - O(n2)
7
8© Alberto Montresor
Versione 3 - O(n log n)
8
9© Alberto Montresor
Versione 4 - O(n)
9
10
© Alberto Montresor 10
Scopo del corsoScopo del corso
✦Fornire due elementi fondamentali:✦Contenuto: una panoramica aggiornata sui problemi fondamentali e le loro soluzioni
✦Metodo: i principi e le tecniche per risolvere i problemi insoliti che capitano nella vita di tutti i giorni
Contenuto: lista di algoritmi Studiate il loro codice Non a memoria!
Convincetevi che funzionano
Provate a implementarli
Metodo: pensiero astratto Come sviluppare nuovi algoritmi
per ogni problema che si presenta
11
© Alberto Montresor 11
Un consiglio
✦Lo studio degli algoritmi non è uno sport in cui si guarda e basta...
✦E' necessario✦Scrivere molti algoritmi
✦Analizzare la loro correttezza
✦Analizzare la loro efficienza
12
© Alberto Montresor 12
Sito web del corso
✦Il corso è dotato di un sito web:✦http://disi.unitn.it/~montreso/asd/
✦Trovate:✦Lucidi e appunti
✦Video lezioni
✦Software didattico
✦Esercizi e compiti passati
✦Progetti
✦Approfondimenti
13
© Alberto Montresor 13
Programma del corsoProgramma del corso
✦Introduzione
✦Analisi degli algoritmi✦Notazione asintotica
✦Ricorrenze
✦Analisi ammortizzata
✦Strutture dati:✦Pile, code, liste
✦Alberi
✦Alberi bilanciati
✦Tabelle hash
✦Grafi
✦Strutture speciali
✦Tecniche di programmazione✦Scelta della struttura dati
✦Divide et impera
✦Programmazione dinamica
✦Algoritmi greedy
✦Ricerca locale
✦Backtrack
✦Algoritmi probabilistici
✦Problemi intrattabili (cenni)✦Teoria dell’NP-completezza
✦Tecniche risolutive
14
© Alberto Montresor 14
Docente e assistentiDocente e assistenti
✦Prof. Alberto Montresor✦Titolare, lezioni “teoriche”, esercitazioni
✦http://disi.unitn.it/~montreso/
✦Dott. Alessandra Giordani✦Esercitazioni in aula
✦Dott. Alessio Guerrieri✦Correzione progetti laboratorio, esercitazioni in laboratorio
15
© Alberto Montresor 15
Domande?Domande?
16
© Alberto Montresor 16
Figura e ruolo dei docenti
✦Domande, domande, domande✦Se ci sono punti poco chiari nella lezione, non esitate a domandare ulteriori spiegazioni
✦Se volete ulteriori approfondimenti su uno degli argomenti delle lezioni, chiedete e vi sarà dato
17
© Alberto Montresor 17
LaptopLaptop
Laptop proibiti in aula durante le lezioni!
18
© Alberto Montresor 18
Testi
✦Libro adottato✦Bertossi, MontresorAlgoritmi e Strutture di DatiTecniche nuove, 2010
✦Per approfondimenti:✦Cormen, Leiserson, Rivest, Stein Introduction to AlgorithmsThe MIT Press; 3nd edition (2009)
✦Jon Kleinberg, Eva TardosAlgorithm DesignAddison Wesley, 1st edition (2006)
19
© Alberto Montresor 19
Lezioni e ricevimentoLezioni e ricevimento
✦Organizzazione di una settimana di corso✦Martedì 14.30-16.30 Lezione
A103
✦Mercoledì 10.30-12.30 Laboratorio gruppo 1 PC 104
13.30-15.30 Laboratorio gruppo 2PC 104
✦Giovedì 14.30-16.30 LezioneA103
✦Venerdì 10.30-12.30 Esercitazione in aulaA103
✦Ricevimento ✦Via mail, quando volete
✦Dopo ogni lezione, in aula
✦Su appuntamento
20
© Alberto Montresor 20
EsameEsame
Diviso in due parti obbligatorie: Scritto risoluzione problemi (+lab) 50%
E’ possibile usare libri e appunti, non strumenti elettronici
Orale 50% Dovete dimostrare di aver capito - non di sapere a memoria
Alcune regole Niente orale se non avete passato lo scritto (voto minimo: 18)
Niente orale se non avete consegnato almeno una esercitazione
Dopo aver passato lo scritto, potete venire all'orale quante volte volete
Se vi ripresentate ad uno scritto, i voti precedenti vengono persi
Dovete completare l’orale entro febbraio 2014, poi tutti i voti vengono cancellati
21
© Alberto Montresor
Laboratorio
✦Esercitazioni di laboratorio✦Corrette tramite mezzi automatici via interfaccia web
✦Cheating detection
✦Due esercitazioni durante il corso✦Deadline: aprile, maggio
✦Se consegnate entro le deadline previste, danno origine a punteggio aggiuntivo da sommare al vostro voto scritto (max +2,+3)
✦Esercitazioni dopo il corso✦Per accedere all’orale dovete consegnare almeno una esercitazione funzionante
✦Esercitazioni diverse in sessioni diverse, con deadline specifiche
✦NON danno origine a punteggio aggiuntivo21
22
© Alberto Montresor 22
DateDate
Scritti parziali e laboratorio (date da decidere) Lab. 1 - Deadline metà aprile Scritto parziale 1 - Fine aprile
Lab. 2 - Deadline metà maggio Scritto parziale 2 - Fine maggio
Per accedere all’orale in Giugno, Luglio 2012 Scritto: (apr and mag) or giu or lug
Lab: (apr or mag)
Per accedere all’orale in Settembre 2012 Scritto: (apr and mag) or giu or lug or set
Lab: (apr or mag) or set
Per accedere all’orale in Gennaio,Febbraio 2013 Scritto: (apr and mag) or giu or lug or set or gen or feb
Lab: (apr or mag) or set or gen
23
© Alberto Montresor
Argomenti vari
✦Varie ed eventuali✦Mailing list
✦Pagina del corso vs Esse3 - la mia pagina è più aggiornata
✦Dopo primo midterm: ricevimento “obbligatorio”
23
24
© Alberto Montresor 24
"Cheating policies""Cheating policies"
Durante gli scritti E' vietato comunicare in qualunque modo (oralmente, in forma scritta o
elettronicamente), per qualsivoglia motivo.
Chi viene sorpreso a parlare, viene invitato a lasciare l'aula e a ripresentarsi al prossimo appello
Questo vale per entrambi gli "estremi" della comunicazione: sia chi parla che chi ascolta
Nota: Se avete bisogno di qualunque cosa, chiedete al docente
25
© Alberto Montresor 25
"Cheating policies""Cheating policies"
Dopo gli scritti Il compito potrà essere annullato anche in caso di manifesta copiatura
scoperta nel corso della correzione degli scritti
Anche in questo caso, l'annullamento riguarda sia il "copiatore" che il "copiato"