Algoritmi e Strutture Dati

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

Algoritmi e Strutture Dati
Il problema della ricerca Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Stesso approccio.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Capitolo 1 Unintroduzione informale agli algoritmi Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Stesso approccio.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 6 Interrogazioni.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Capitolo 1 Unintroduzione.
Il problema della ricerca Algoritmi e Strutture Dati.
Il problema della ricerca Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 8 Code con.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Visite di grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Un albero è un grafo.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Alberi AVL (Adelson-Velskii.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Diremo che f(n) =
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 K 4 è planare? Sì!
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Il problema della ricerca Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Capitolo 1 Un’introduzione.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Capitolo 1 Un’introduzione.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Il problema della ricerca Algoritmi e Strutture Dati.
Analisi asintotica e Metodi di analisi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Capitolo 1 Un’introduzione.
Transcript della presentazione:

Algoritmi e Strutture Dati Analisi asintotica e Metodi di analisi

Notazione asintotica f(n) = tempo di esecuzione / occupazione di memoria di un algoritmo su input di dimensione n La notazione asintotica è un’astrazione utile per descrivere l’ordine di grandezza di f(n) ignorando i dettagli non influenti, come costanti moltiplicative e termini di ordine inferiore Copyright © 2004 - The McGraw - Hill Companies, srl

Notazione asintotica O f(n) = O( g(n) ) se  due costanti c>0 e n0≥0 tali che f(n) ≤ c g(n) per ogni n ≥ n0 Copyright © 2004 - The McGraw - Hill Companies, srl

Notare: Copyright © 2004 - The McGraw - Hill Companies, srl

Notazione asintotica W f(n) = W( g(n) ) se  due costanti c>0 e n0≥0 tali che f(n) ≥ c g(n) per ogni n ≥ n0 n0 n f(n) = W( g(n) ) f(n) c g(n) Copyright © 2004 - The McGraw - Hill Companies, srl

Notare: Copyright © 2004 - The McGraw - Hill Companies, srl

Notazione asintotica Q f(n) = Q( g(n) ) se  tre costanti c1,c2>0 e n0≥0 tali che c1 g(n) ≤ f(n) ≤ c2 g(n) per ogni n ≥ n0 n0 n f(n) = Q( g(n) ) f(n) c1 g(n) c2 g(n) Copyright © 2004 - The McGraw - Hill Companies, srl

Notare che: Copyright © 2004 - The McGraw - Hill Companies, srl

o(g(n)) = {f(n) :  c > 0,  n0 tale che Notazione o Data una funzione g(n): N  R, si denota con o(g(n)) l’ insieme delle funzioni f(n): N R: o(g(n)) = {f(n) :  c > 0,  n0 tale che  n  n0 0  f(n)  c g(n) } Notare: Copyright © 2004 - The McGraw - Hill Companies, srl

(g(n)) = {f(n) :  c > 0,  n0 tale che Notazione  Data una funzione g(n): N  R, si denota con (g(n)) l’ insieme delle funzioni f(n): (g(n)) = {f(n) :  c > 0,  n0 tale che  n  n0 0  c g(n)  f(n) } Notare: Copyright © 2004 - The McGraw - Hill Companies, srl

Riassumendo …… Copyright © 2004 - The McGraw - Hill Companies, srl

T(n) / nd = ad + ad-1 n-1 + … + a0 n-d  Esempio: Se T(n) = ad nd + ad-1 nd-1 + … + a0 è un polinomio di grado d (con ad>0), allora T(n) = (nd) Infatti: T(n) / nd = ad + ad-1 n-1 + … + a0 n-d  n0 :  n  n0 ad - |ad-1|n-1 - … - |a0| n-d > 0 Se scegliamo: c1 = ad - |ad-1| n0-1 - … - |a0 | n0-d c2 = ad + |ad-1| + … + |a0|  n  n0 c1 nd  T(n)  c2 nd Copyright © 2004 - The McGraw - Hill Companies, srl

P(n) = ad nd + ad-1 nd-1 + … + a0 ad > 0 Polinomi …… P(n) = (nd) P(n) = O(nd) P(n) = (nd) P(n) = ad nd + ad-1 nd-1 + … + a0 ad > 0 Esponenziali …… f(n) = an a >1 an = (nd) an = (nd) Logaritmi …… f(n) = logb(n) b>1 logb(n) = o(nd) logb(n) = O(nd) Fattoriali …… f(n) = n! = n*(n-1)*……*2*1 n! = o(nn) n! =  (an) Copyright © 2004 - The McGraw - Hill Companies, srl

Proprietà della notazione asintotica Transitività Riflessività Simmetria Simmetria trasposta Copyright © 2004 - The McGraw - Hill Companies, srl

Notazione asintotica: esempi Sia f(n)=3n2+10 f(n)=O(n2): basta scegliere c=4 e n0=4 Infatti, 3n2+10 ≤ 4n2 per ogni n≥4 f(n)=W(n2): scegliere c=1 e n0=0 Infatti, 3n2+10 ≥ 1n2 per ogni n≥0 ═> f(n)=Q(n2): infatti f(n)= Q(g(n)) se e solo se f(n)= O(g(n)) e f(n)= W(g(n)) f(n)=O(n3) basta scegliere c=1 e n0=4 Infatti, 3n2+10 ≤ 1n3 per ogni n≥4 …ma f(n) ≠ Q(n3) Copyright © 2004 - The McGraw - Hill Companies, srl

Metodi di analisi Copyright © 2004 - The McGraw - Hill Companies, srl

Caso peggiore, migliore e medio Misureremo le risorse di calcolo usate da un algoritmo ( tempo di esecuzione / occupazione di memoria ) in funzione della dimensione n delle istanze Istanze diverse, a parità di dimensione, potrebbero però richiedere risorse diverse Distinguiamo quindi ulteriormente tra analisi nel caso peggiore, migliore e medio Copyright © 2004 - The McGraw - Hill Companies, srl

Caso peggiore Sia tempo(I) il tempo di esecuzione di un algoritmo sull’istanza I Tworst(n) = max istanze I di dimensione n {tempo(I)} Intuitivamente, Tworst(n) è il tempo di esecuzione sulle istanze di ingresso che comportano più lavoro per l’algoritmo Copyright © 2004 - The McGraw - Hill Companies, srl

Caso migliore Sia tempo(I) il tempo di esecuzione di un algoritmo sull’istanza I Tbest(n) = min istanze I di dimensione n {tempo(I)} Intuitivamente, Tbest(n) è il tempo di esecuzione sulle istanze di ingresso che comportano meno lavoro per l’algoritmo Copyright © 2004 - The McGraw - Hill Companies, srl

Caso medio Sia P(I) la probabilità di occorrenza del- l’istanza I Tavg(n) = ∑ istanze I di dimensione n {P(I) tempo(I) } Intuitivamente, Tavg(n) è il tempo di esecuzione nel caso medio, ovvero sulle istanze di ingresso “tipiche” per il problema Richiede di conoscere una distribuzione di probabilità sulle istanze Copyright © 2004 - The McGraw - Hill Companies, srl

Approfondimento Sia dato un mazzo di n carte scelte in un universo U di 2n carte, e si supponga di dover verificare se una certa carta x in U appartenga o meno al mazzo. Qual è il costo di tale verifica (in termine di numero di confronti) nel caso migliore, peggiore e medio? Copyright © 2004 - The McGraw - Hill Companies, srl