Intuizione:
Come usare il Teorema dellesperto T(n) = aT(n/b)+f(n) 2.Calcolare 4.Se il limite è finito e diverso da 0 siamo nel Caso 2 e 3.Calcolare il limite 1.Togliere eventuali arrotondamenti per eccesso o per difetto
5.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 dellesperto non si può usare.
6.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 dellesperto. 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 dellesperto non si può usare.
Esempi: siccomee quindi possiamo applicare il Caso 2 e concludere Trascurando gli arrotondamenti entrambe sono della forma: Con a=b=2 ed f(n)= (n)
Esempio: Quindi e si applica il Caso 1 e quindi In questo caso Se Per Caso 1? e
Esempio: Inoltre e quindi In questo caso Caso 3? Se e Per e Quindi Si applica il Caso 3:
Esempio: ma e quindi per qualunque e quindi non esiste nessun k < 1 tale che per ogni n > N ma Dunque non si può usare il metodo dellesperto. Neanche la seconda condizione è soddisfatta
Quicksort (A,p,r) // Complessità media if p < r then q = Partition(A,p,r) Quicksort(A,p,q-1) Quicksort(A,q+1,r)
Per n > 1 Per n = 2 e dunque Per n > 2 e moltiplicando per n otteniamo
dividendo per n(n+1) ponendo otteniamo
la cui soluzione è
Infine Quindi