SlideShare a Scribd company logo
1 of 22
Download to read offline
Tutti in fila, si cerca!
alessandro bogliolo
http://codemooc.org/algoritmi/
Algo 06.01
Algo 06.01
alessandro.bogliolo@uniurb.it
Abitaqui
ilmioamicoCarlo?
Algo 06.01
alessandro.bogliolo@uniurb.it
Abitaqui
ilmioamicoCarlo?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Via Archimede, n. 8
Algo 06.01
alessandro.bogliolo@uniurb.it
Abitaqui
ilmioamicoCarlo?
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Archimede[7]
Algo 06.01
alessandro.bogliolo@uniurb.it
Abitaqui
ilmioamicoCarlo?
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Algo 06.01
alessandro.bogliolo@uniurb.it
Tuttiinfila
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
456
457
458
466
467
468
482
483
484
485
…
…
…
474
Archimede[0]
Archimede[1]
Archimede[7]
array
indice
nome
Algo 06.01
alessandro.bogliolo@uniurb.it
Tuttiinfila
0
1
2
3
4
5
6
7
cassettiera
cassettiera[4]
Algo 06.01
alessandro.bogliolo@uniurb.it
Tuttiinfila
0 1 2 3 4 5 6
alunno[i]
altezza[i]
taglia[i]
peso[i]
175 165 110 180 150 100 170
Algo 06.01
alessandro.bogliolo@uniurb.it
175 165 110 180 150 100 170
0 1 2 3 4 5 6
Concentriamoci
suidati
indice
altezza
Algo 06.01
alessandro.bogliolo@uniurb.it
175 165 110 180 150 100 170
0 1 2 3 4 5 6
180
Cerchiamounelemento
dell’array
indice
altezza
h
-1posizione
0i
n = numero di elementi
Complessità: O(n)
Algo 06.01
alessandro.bogliolo@uniurb.it
175 165 110 180 150 180 170
0 1 2 3 4 5 6
180
Cerchiamounelemento
dell’array
indice
altezza
h
-1posizione
0i
Quale posizione restituisce la funzione?
Algo 06.01
alessandro.bogliolo@uniurb.it
175 165 110 180 150 100 170
0 1 2 3 4 5 6
180
Modifichiamol’algoritmo
indice
altezza
h
-1
0
posizione
i
n = numero di elementi
Complessità: O(n)
Caso ottimo: O(1)
Caso medio: O(n/2) = O(n)
Caso pessimo: O(n)
Algo 06.01
alessandro.bogliolo@uniurb.it
175 165 110 180 150 180 170
0 1 2 3 4 5 6
180
equivalentealprecendete?
indice
altezza
h
-1
0
posizione
i
Quale posizione restituisce la funzione?
Algo 06.01
alessandro.bogliolo@uniurb.it
175 165 110 180 150 100 170
0 1 2 3 4 5 6
Esecercassimoilmax?
indice
altezza
-1
0
posizione
i
Algo 06.01
alessandro.bogliolo@uniurb.it
100 110 150 165 170 175 180
0 1 2 3 4 5 6
165
Esel’arrayfosseinordine?
indice
altezza
h
n = numero di elementi
Complessità: O(n)
Caso ottimo: O(1)
Caso medio: O(n/2) = O(n)
Caso pessimo: O(n)
Algo 06.01
alessandro.bogliolo@uniurb.it
100 110 150 165 165 175 180
0 1 2 3 4 5 6
165
Esel’arrayfosseinordine?
indice
altezza
h
Quale posizione restituisce la funzione?
Algo 06.01
alessandro.bogliolo@uniurb.it
100 110 150 165 170 175 180
0 1 2 3 4 5 6
166
Esel’arrayfosseinordine?
indice
altezza
h
Dove si ferma l’algoritmo?
Algo 06.01
alessandro.bogliolo@uniurb.it
100 110 150 165 170 175 180
0 1 2 3 4 5 6
175
Laricercadicotomica
indice
altezza
h
6
0
3
inizio
fine
mezzo
+1
Algo 06.01
alessandro.bogliolo@uniurb.it
100 110 150 165 170 175 180
0 1 2 3 4 5 6
175
Laricercadicotomica
indice
altezza
h
6
4
5
inizio
fine
mezzo
Algo 06.01
alessandro.bogliolo@uniurb.it
100 110 150 165 170 175 180
0 1 2 3 4 5 6
175
Laricercadicotomica
indice
altezza
h
5
4
4
inizio
fine
mezzo
+1
Algo 06.01
alessandro.bogliolo@uniurb.it
100 110 150 165 170 175 180
0 1 2 3 4 5 6
175
Laricercadicotomica
indice
altezza
h
5
5
5
inizio
fine
mezzo
n = numero di elementi
Complessità: O(log(n))
Algo 06.01
alessandro.bogliolo@uniurb.it
100 110 150 165 170 175 180
0 1 2 3 4 5 6
175
Usiamolaricorsione?
indice
altezza
h

More Related Content

More from Alessandro Bogliolo

BIBMOOC 05.03 - Codici in biblioteca
BIBMOOC 05.03 - Codici in bibliotecaBIBMOOC 05.03 - Codici in biblioteca
BIBMOOC 05.03 - Codici in bibliotecaAlessandro Bogliolo
 
BIBMOOC 06.02 - Buone pratiche: Il caso di Settimo Torinese - Lisa Marcenaro ...
BIBMOOC 06.02 - Buone pratiche: Il caso di Settimo Torinese - Lisa Marcenaro ...BIBMOOC 06.02 - Buone pratiche: Il caso di Settimo Torinese - Lisa Marcenaro ...
BIBMOOC 06.02 - Buone pratiche: Il caso di Settimo Torinese - Lisa Marcenaro ...Alessandro Bogliolo
 
BIBMOOC 5.2 - Algoritmi in biblioteca
BIBMOOC 5.2 - Algoritmi in bibliotecaBIBMOOC 5.2 - Algoritmi in biblioteca
BIBMOOC 5.2 - Algoritmi in bibliotecaAlessandro Bogliolo
 
BIBMOOC 05.01 - Installazioni di coding e gamification
BIBMOOC 05.01 - Installazioni di coding e gamificationBIBMOOC 05.01 - Installazioni di coding e gamification
BIBMOOC 05.01 - Installazioni di coding e gamificationAlessandro Bogliolo
 
BIBMOOC 06.01 - Buone pratiche: il caso di CSBNO - Giovanni Mojoli
BIBMOOC 06.01 - Buone pratiche: il caso di CSBNO - Giovanni MojoliBIBMOOC 06.01 - Buone pratiche: il caso di CSBNO - Giovanni Mojoli
BIBMOOC 06.01 - Buone pratiche: il caso di CSBNO - Giovanni MojoliAlessandro Bogliolo
 
BIBMOOC 04.04 - Progettualità e opportunità di finanziamento - Simona Villa
BIBMOOC 04.04 - Progettualità e opportunità di finanziamento - Simona VillaBIBMOOC 04.04 - Progettualità e opportunità di finanziamento - Simona Villa
BIBMOOC 04.04 - Progettualità e opportunità di finanziamento - Simona VillaAlessandro Bogliolo
 
BIBMOOC 04.03 - Progettare spazi per la cultura - Marco Muscogiuri
BIBMOOC 04.03 - Progettare spazi per la cultura - Marco MuscogiuriBIBMOOC 04.03 - Progettare spazi per la cultura - Marco Muscogiuri
BIBMOOC 04.03 - Progettare spazi per la cultura - Marco MuscogiuriAlessandro Bogliolo
 
BIBMOOC 04.02 - Marketing culturale - Anna Busa
BIBMOOC 04.02 - Marketing culturale - Anna BusaBIBMOOC 04.02 - Marketing culturale - Anna Busa
BIBMOOC 04.02 - Marketing culturale - Anna BusaAlessandro Bogliolo
 
BIBMOOC 3.2 - Coding unplugged fai-da-te
BIBMOOC 3.2 - Coding unplugged fai-da-teBIBMOOC 3.2 - Coding unplugged fai-da-te
BIBMOOC 3.2 - Coding unplugged fai-da-teAlessandro Bogliolo
 
BIBMOOC 03.01 - Programmazione visuale a blocchi
BIBMOOC 03.01 - Programmazione visuale a blocchiBIBMOOC 03.01 - Programmazione visuale a blocchi
BIBMOOC 03.01 - Programmazione visuale a blocchiAlessandro Bogliolo
 
BIBMOOC 02.01 - Esecutore ideale e istruzioni elementari
BIBMOOC 02.01 - Esecutore ideale e istruzioni elementariBIBMOOC 02.01 - Esecutore ideale e istruzioni elementari
BIBMOOC 02.01 - Esecutore ideale e istruzioni elementariAlessandro Bogliolo
 
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioni
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioniBIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioni
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioniAlessandro Bogliolo
 
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara Faggiolani
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara FaggiolaniBIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara Faggiolani
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara FaggiolaniAlessandro Bogliolo
 
BIBMOOC 1.2 - Coding e pensiero computazionale
BIBMOOC 1.2 - Coding e pensiero computazionaleBIBMOOC 1.2 - Coding e pensiero computazionale
BIBMOOC 1.2 - Coding e pensiero computazionaleAlessandro Bogliolo
 
BIBMOOC 1.1 - Informazione e rappresentazioni digitali
BIBMOOC 1.1 - Informazione e rappresentazioni digitaliBIBMOOC 1.1 - Informazione e rappresentazioni digitali
BIBMOOC 1.1 - Informazione e rappresentazioni digitaliAlessandro Bogliolo
 
AIMOOC 7.3 - Per una IA etica - Claudia Chiavarino
AIMOOC 7.3 - Per una IA etica - Claudia ChiavarinoAIMOOC 7.3 - Per una IA etica - Claudia Chiavarino
AIMOOC 7.3 - Per una IA etica - Claudia ChiavarinoAlessandro Bogliolo
 
AIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla Sioli
AIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla SioliAIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla Sioli
AIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla SioliAlessandro Bogliolo
 
AIMOOC 5.5 - Programmazione o addestramento? - Alessandro Bogliolo
AIMOOC 5.5 - Programmazione o addestramento? - Alessandro BoglioloAIMOOC 5.5 - Programmazione o addestramento? - Alessandro Bogliolo
AIMOOC 5.5 - Programmazione o addestramento? - Alessandro BoglioloAlessandro Bogliolo
 

More from Alessandro Bogliolo (20)

BIBMOOC 05.03 - Codici in biblioteca
BIBMOOC 05.03 - Codici in bibliotecaBIBMOOC 05.03 - Codici in biblioteca
BIBMOOC 05.03 - Codici in biblioteca
 
BIBMOOC 06.02 - Buone pratiche: Il caso di Settimo Torinese - Lisa Marcenaro ...
BIBMOOC 06.02 - Buone pratiche: Il caso di Settimo Torinese - Lisa Marcenaro ...BIBMOOC 06.02 - Buone pratiche: Il caso di Settimo Torinese - Lisa Marcenaro ...
BIBMOOC 06.02 - Buone pratiche: Il caso di Settimo Torinese - Lisa Marcenaro ...
 
BIBMOOC 5.2 - Algoritmi in biblioteca
BIBMOOC 5.2 - Algoritmi in bibliotecaBIBMOOC 5.2 - Algoritmi in biblioteca
BIBMOOC 5.2 - Algoritmi in biblioteca
 
BIBMOOC 05.01 - Installazioni di coding e gamification
BIBMOOC 05.01 - Installazioni di coding e gamificationBIBMOOC 05.01 - Installazioni di coding e gamification
BIBMOOC 05.01 - Installazioni di coding e gamification
 
BIBMOOC 06.01 - Buone pratiche: il caso di CSBNO - Giovanni Mojoli
BIBMOOC 06.01 - Buone pratiche: il caso di CSBNO - Giovanni MojoliBIBMOOC 06.01 - Buone pratiche: il caso di CSBNO - Giovanni Mojoli
BIBMOOC 06.01 - Buone pratiche: il caso di CSBNO - Giovanni Mojoli
 
Nuovi LIDI - Lezione 1
Nuovi LIDI - Lezione 1Nuovi LIDI - Lezione 1
Nuovi LIDI - Lezione 1
 
BIBMOOC 04.04 - Progettualità e opportunità di finanziamento - Simona Villa
BIBMOOC 04.04 - Progettualità e opportunità di finanziamento - Simona VillaBIBMOOC 04.04 - Progettualità e opportunità di finanziamento - Simona Villa
BIBMOOC 04.04 - Progettualità e opportunità di finanziamento - Simona Villa
 
BIBMOOC 04.03 - Progettare spazi per la cultura - Marco Muscogiuri
BIBMOOC 04.03 - Progettare spazi per la cultura - Marco MuscogiuriBIBMOOC 04.03 - Progettare spazi per la cultura - Marco Muscogiuri
BIBMOOC 04.03 - Progettare spazi per la cultura - Marco Muscogiuri
 
BIBMOOC 04.02 - Marketing culturale - Anna Busa
BIBMOOC 04.02 - Marketing culturale - Anna BusaBIBMOOC 04.02 - Marketing culturale - Anna Busa
BIBMOOC 04.02 - Marketing culturale - Anna Busa
 
BIBMOOC 3.2 - Coding unplugged fai-da-te
BIBMOOC 3.2 - Coding unplugged fai-da-teBIBMOOC 3.2 - Coding unplugged fai-da-te
BIBMOOC 3.2 - Coding unplugged fai-da-te
 
BIBMOOC 03.01 - Programmazione visuale a blocchi
BIBMOOC 03.01 - Programmazione visuale a blocchiBIBMOOC 03.01 - Programmazione visuale a blocchi
BIBMOOC 03.01 - Programmazione visuale a blocchi
 
BIBMOOC 02.01 - Esecutore ideale e istruzioni elementari
BIBMOOC 02.01 - Esecutore ideale e istruzioni elementariBIBMOOC 02.01 - Esecutore ideale e istruzioni elementari
BIBMOOC 02.01 - Esecutore ideale e istruzioni elementari
 
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioni
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioniBIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioni
BIBMOOC 02.02 - Sequenze di istruzioni ripetizione e condizioni
 
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara Faggiolani
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara FaggiolaniBIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara Faggiolani
BIBMOOC 01.03 - Le biblioteche e la loro funzione sociale - Chiara Faggiolani
 
BIBMOOC 1.2 - Coding e pensiero computazionale
BIBMOOC 1.2 - Coding e pensiero computazionaleBIBMOOC 1.2 - Coding e pensiero computazionale
BIBMOOC 1.2 - Coding e pensiero computazionale
 
BIBMOOC 1.1 - Informazione e rappresentazioni digitali
BIBMOOC 1.1 - Informazione e rappresentazioni digitaliBIBMOOC 1.1 - Informazione e rappresentazioni digitali
BIBMOOC 1.1 - Informazione e rappresentazioni digitali
 
CodyTrip a BTO2021
CodyTrip a BTO2021CodyTrip a BTO2021
CodyTrip a BTO2021
 
AIMOOC 7.3 - Per una IA etica - Claudia Chiavarino
AIMOOC 7.3 - Per una IA etica - Claudia ChiavarinoAIMOOC 7.3 - Per una IA etica - Claudia Chiavarino
AIMOOC 7.3 - Per una IA etica - Claudia Chiavarino
 
AIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla Sioli
AIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla SioliAIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla Sioli
AIMOOC 7.2 - La strategia europea per l'I.A. - Lucilla Sioli
 
AIMOOC 5.5 - Programmazione o addestramento? - Alessandro Bogliolo
AIMOOC 5.5 - Programmazione o addestramento? - Alessandro BoglioloAIMOOC 5.5 - Programmazione o addestramento? - Alessandro Bogliolo
AIMOOC 5.5 - Programmazione o addestramento? - Alessandro Bogliolo
 

Recently uploaded

Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptcarlottagalassi
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 

Recently uploaded (11)

Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.ppt
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 

AlgoMOOC 06.01. Tutti in fila, si cerca!