140 likes | 318 Views
Intuizione:. Calcolare. Calcolare il limite. Come usare il Teorema dell’esperto T ( n ) = aT ( n / b ) + f ( n ). Togliere eventuali arrotondamenti per eccesso o per difetto. Se il limite è finito e diverso da 0 siamo nel Caso 2 e.
E N D
Calcolare • Calcolare il limite Come usare il Teorema dell’esperto T(n) = aT(n/b)+f(n) • Togliere eventuali arrotondamenti per eccesso o per difetto • Se il limite è finito e diverso da 0 siamo nel Caso 2 e
Se il limite è 0 potremmo essere nel Caso 1. Per esserne sicuri occorre trovare un valore positivo ε per il quale risulti finito il limite • nel qual caso possiamo concludere • Se per ogniε positivo tale limite risulta infinito il teorema dell’esperto non si può usare.
Se il limite è ∞potremmo essere nel Caso 3. Per esserne sicuri occorre trovare un ε positivo per il quale risulti diverso da 0 il limite Se è 0 per ogniε positivo non si può usare il teorema dell’esperto. Altrimenti prima di concludere bisogna studiare la disequazione a f(n/b) ≤k f(n)
Se tale disequazione è soddisfatta per qualche costante k strettamente minore di 1 e per tutti i valori di n da un certo valore N in poi possiamo concludere che Altrimenti il teorema dell’esperto non si può usare.
siccome e quindi possiamo applicare il Caso 2 e concludere Esempi: Trascurando gli arrotondamenti entrambe sono della forma: Con a=b=2 ed f(n)=(n)
In questo caso e quindi Se Per e si applica il Caso 1 Quindi Esempio: Caso 1? e
In questo caso e quindi e Se Per e Quindi Inoltre Si applica il Caso 3: Esempio: Caso 3?
ma e quindi per qualunque ma e quindi non esiste nessun k < 1 tale che per ogni n > N Esempio: Dunque non si può usare il metodo dell’esperto. Neanche la seconda condizione è soddisfatta
Quicksort (A,p,r) // Complessità media ifp < rthen q=Partition(A,p,r) Quicksort(A,p,q-1) Quicksort(A,q+1,r)
Per n = 2 Per n > 2 e dunque Per n > 1 e moltiplicando per n otteniamo
ponendo otteniamo dividendo per n(n+1)
Infine Quindi