Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AlgoMOOC 06.01. Tutti in fila, si cerca!

14,286 views

Published on

http://codemooc.org/algomooc/

Published in: Education
  • Be the first to comment

AlgoMOOC 06.01. Tutti in fila, si cerca!

  1. 1. Tutti in fila, si cerca! alessandro bogliolo http://codemooc.org/algoritmi/ Algo 06.01
  2. 2. Algo 06.01 alessandro.bogliolo@uniurb.it Abitaqui ilmioamicoCarlo?
  3. 3. 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
  4. 4. 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]
  5. 5. 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
  6. 6. 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
  7. 7. Algo 06.01 alessandro.bogliolo@uniurb.it Tuttiinfila 0 1 2 3 4 5 6 7 cassettiera cassettiera[4]
  8. 8. 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
  9. 9. 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
  10. 10. 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)
  11. 11. 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?
  12. 12. 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)
  13. 13. 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?
  14. 14. 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
  15. 15. 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)
  16. 16. 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?
  17. 17. 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?
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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))
  22. 22. 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

×