Algoritmi Intuitivi - I grafi e gli algoritmi di ricerca di cammini minimi
Alessandro Bogliolo
L'Università di Urbino per le Scuole Superiori
https://mooc.uniurb.it/uniurb4hs
Lezione 5.3 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti.
Alessandro Bogliolo presenta attività didattiche e ludiche basate sul concetto di rappresentazione digitale in biblioteca
https://mooc.uniurb.it/bibmooc
BIBMOOC 06.02 - Buone pratiche: Il caso di Settimo Torinese - Lisa Marcenaro ...Alessandro Bogliolo
Lezione 6.2 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti.
Lisa Marcenaro e Silvia Manzione parlano del caso di Settimo Torinese come buona pratica di coding in biblioteca
https://mooc.uniurb.it/bibmooc
Lezione 5.2 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti.
Sveliamo gli algoritmi che si utilizzano, anche inconsapevolmente, in biblioteca https://mooc.uniurb.it/bibmooc
Lezione 5.1 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti.
Parliamo di installazioni temporanee e permanenti di coding in biblioteca.
https://mooc.uniurb.it/bibmooc
Algoritmi Intuitivi - I grafi e gli algoritmi di ricerca di cammini minimi
Alessandro Bogliolo
L'Università di Urbino per le Scuole Superiori
https://mooc.uniurb.it/uniurb4hs
Lezione 5.3 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti.
Alessandro Bogliolo presenta attività didattiche e ludiche basate sul concetto di rappresentazione digitale in biblioteca
https://mooc.uniurb.it/bibmooc
BIBMOOC 06.02 - Buone pratiche: Il caso di Settimo Torinese - Lisa Marcenaro ...Alessandro Bogliolo
Lezione 6.2 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti.
Lisa Marcenaro e Silvia Manzione parlano del caso di Settimo Torinese come buona pratica di coding in biblioteca
https://mooc.uniurb.it/bibmooc
Lezione 5.2 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti.
Sveliamo gli algoritmi che si utilizzano, anche inconsapevolmente, in biblioteca https://mooc.uniurb.it/bibmooc
Lezione 5.1 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti.
Parliamo di installazioni temporanee e permanenti di coding in biblioteca.
https://mooc.uniurb.it/bibmooc
BIBMOOC 06.01 - Buone pratiche: il caso di CSBNO - Giovanni MojoliAlessandro Bogliolo
Lezione 6.1 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti.
Giovanni Mojoli parla del caso di CSBNO come buona pratica di coding in biblioteca
https://mooc.uniurb.it/bibmooc
BIBMOOC 04.04 - Progettualità e opportunità di finanziamento - Simona VillaAlessandro Bogliolo
Lezione 4.4 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti.
Simona Villa parla della progettualità e delle opportunità di finanziamento
https://mooc.uniurb.it/bibmooc
BIBMOOC 04.03 - Progettare spazi per la cultura - Marco MuscogiuriAlessandro Bogliolo
Lezione 4.3 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
Marco Muscogiuri parla della progettazione delle biblioteche come spazi della cultura
https://mooc.uniurb.it/bibmooc
Lezione 4.2 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
Anna Busa parla di marketing culturale delle biblioteche
https://mooc.uniurb.it/bibmooc
Lezione 3.2 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://www.youtube.com/watch?v=snNVgUFe8r8
Lezione 2.1 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://youtu.be/XkSapOzoO0U
https://youtu.be/nzhKOFCnJqM
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioniAlessandro Bogliolo
Lezione 2.2 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://youtu.be/uYAB8-_f2Us
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara FaggiolaniAlessandro Bogliolo
Terza lezione del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://youtu.be/nzhKOFCnJqM
Seconda lezione del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://youtu.be/q6VI-V_v5cI
Prima lezione del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://youtu.be/f5RpXrMyOfw
BIBMOOC 06.01 - Buone pratiche: il caso di CSBNO - Giovanni MojoliAlessandro Bogliolo
Lezione 6.1 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti.
Giovanni Mojoli parla del caso di CSBNO come buona pratica di coding in biblioteca
https://mooc.uniurb.it/bibmooc
BIBMOOC 04.04 - Progettualità e opportunità di finanziamento - Simona VillaAlessandro Bogliolo
Lezione 4.4 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti.
Simona Villa parla della progettualità e delle opportunità di finanziamento
https://mooc.uniurb.it/bibmooc
BIBMOOC 04.03 - Progettare spazi per la cultura - Marco MuscogiuriAlessandro Bogliolo
Lezione 4.3 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
Marco Muscogiuri parla della progettazione delle biblioteche come spazi della cultura
https://mooc.uniurb.it/bibmooc
Lezione 4.2 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
Anna Busa parla di marketing culturale delle biblioteche
https://mooc.uniurb.it/bibmooc
Lezione 3.2 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://www.youtube.com/watch?v=snNVgUFe8r8
Lezione 2.1 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://youtu.be/XkSapOzoO0U
https://youtu.be/nzhKOFCnJqM
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioniAlessandro Bogliolo
Lezione 2.2 del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://youtu.be/uYAB8-_f2Us
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara FaggiolaniAlessandro Bogliolo
Terza lezione del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://youtu.be/nzhKOFCnJqM
Seconda lezione del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://youtu.be/q6VI-V_v5cI
Prima lezione del MOOC "Coding in biblioteca" erogato dall'Università di Urbino in collaborazione con la Rete delle Reti
https://mooc.uniurb.it/bibmooc
https://youtu.be/f5RpXrMyOfw
3. Uniurb4HS
alessandrobogliolo
Ordinamentodiuna
sequenza
0 1 2 3 4 5 6
altezza[3]
indice
altezza 175 165 110 180 150 100 170
Input
• Data una sequenza di elementi tra i quali esista una relazione d’ordine
• Dato il criterio di ordinamento da applicare
Output
• Restituire la sequenza ordinata secondo il criterio dato
6. Uniurb4HS
alessandrobogliolo
1. SELECTION SORT
Cerchiamo nella sequenza data l’elemento più piccolo e lo mettiamo
all’inizio della fila
Procediamo selezionando sempre il più piccolo tra quelli che restano e lo
aggiungiamo alla fila ordinata che stiamo componendo
15. Uniurb4HS
alessandrobogliolo
0 1 2 3 4 5 6indice
altezza 175 165 110 180 150 100 170
SELECTIONSORT
175min
7N
da ordinareordinato
0i
0j
0pos
i indica il numero di elementi già ordinati e la posizione dove inserire
il prossimo elemento in ordine
j scorre tutti gli indici degli elementi ancora da ordinare
pos memorizza la posizione del più piccolo (min) degli elementi ancora da ordinare
16. Uniurb4HS
alessandrobogliolo
0 1 2 3 4 5 6indice
altezza 175 165 110 180 150 100 170
SELECTIONSORT
165min
7N
da ordinareordinato
0i
1j
1pos
Sposto l’indice j, confronto altezza[j] con min, siccome
l’elemento in posizione j è minore di min, aggiorno min
e pos.
17. Uniurb4HS
alessandrobogliolo
0 1 2 3 4 5 6indice
altezza 175 165 110 180 150 100 170
SELECTIONSORT
110min
7N
da ordinareordinato
0i
2j
2pos
Sposto l’indice j, confronto altezza[j] con min, siccome
l’elemento in posizione j è minore di min, aggiorno min
e pos.
18. Uniurb4HS
alessandrobogliolo
0 1 2 3 4 5 6indice
altezza 175 165 110 180 150 100 170
SELECTIONSORT
110min
7N
da ordinareordinato
0i
3j
2pos
Sposto l’indice j, confronto altezza[j] con
min, ma siccome l’elemento in posizione
j NON è minore di min, NON aggiorno
min e pos.
19. Uniurb4HS
alessandrobogliolo
0 1 2 3 4 5 6indice
altezza 175 165 110 180 150 100 170
SELECTIONSORT
110min
7N
da ordinareordinato
0i
4j
2pos
Sposto l’indice j, confronto altezza[j] con
min, ma siccome l’elemento in posizione
j NON è minore di min, NON aggiorno
min e pos.
20. Uniurb4HS
alessandrobogliolo
0 1 2 3 4 5 6indice
altezza 175 165 110 180 150 100 170
SELECTIONSORT
100min
7N
da ordinareordinato
0i
5j
5pos
Sposto l’indice j, confronto altezza[j] con min, siccome
l’elemento in posizione j è minore di min, aggiorno min
e pos.
21. Uniurb4HS
alessandrobogliolo
0 1 2 3 4 5 6indice
altezza 175 165 110 180 150 100 170
SELECTIONSORT
100min
7N
da ordinareordinato
0i
6j
5pos
Sposto l’indice j, confronto altezza[j] con min, ma
siccome l’elemento in posizione j NON è minore di min,
NON aggiorno min e pos.
22. Uniurb4HS
alessandrobogliolo
0 1 2 3 4 5 6indice
altezza 175 165 110 180 150 100 170
SELECTIONSORT
100min
7N
da ordinareordinato
0i
6j
5pos
Scambio gli elementi in posizione i e pos
Incremento i
Cerco nuovamente il minimo tra quelli da ordinare
29. Uniurb4HS
alessandrobogliolo
• Invariante di ciclo: ad ogni ciclo k
• ik è il numero di elementi già ordinati
• altezzak[m]<=altezzak[m+1] per ogni m<k
• altezzak[m]<=altezzak[posk]<=altezzak[n] per ogni m<k, n>=k
• altezzak[] contiene tutti gli elementi dati
• Quando k=N-1
• I primi N-1 elementi sono ordinati e tutti <= all’unico non ancora
ordinato, che quindi rispetta a sua volta il criterio di ordinamento
crescente
Selectionsort
Correttezza
42. Uniurb4HS
alessandrobogliolo
3. BUBBLE SORT
Partendo dall’ultimo elemento confronto coppie di elementi vicini e li scambio,
se necessario, in modo da portare a galla il più piccolo.
Quando arrivo in cima riparto dal fondo e procedo così finché ci sono scambi
da fare
82. Uniurb4HS
alessandrobogliolo
4. MERGE SORT
Risolvo il problema in modo ricorsivo, riducendolo a due problemi di dimensione
inferiore (l’ordinamento delle due metà dell’array dato) e unendo i risultati
(merge)