Nombre exact d’exécutions
(pire des cas)
Analyse
asymptotique
InsertionSort( T[ 1.. N ] )
pour i 2 à N Ο(N)
key T[i] Ο(N)
j i!1!Ο(N)
tant que j > 0 et T[j]>key!Ο(N2)
T[j+1] T[j]!Ο(N2)
j j!1!Ο(N2)
T[j+1] key !Ο(N)
13
Notation-Ο (Analyse d’un algorithme)
14
Notation-Ω (grand oméga)"
! Détermine une borne inférieure
! Définition formelle : f(n) = Ω(g(n)) s’il existe deux constantes positives n0 et
c telles que
" cg(n) < f(n) pour tout n>n0
! En d’autres termes
" cg(n) minore f(n)
Notation-Ω (Calcul analytique)
! Étant données deux fonctions f(n) et g(n), f(n) = Ω(g(n)) ssi:
" ∃ b≥0, ∀∞ n, f(n) / g(n) ≥ b
! Exemple
" f(n) = 3n2+6n+4 et g(n) = n+3
limn→+∞ f(n) / g(n) = +∞
∴ donc 3n2+6n+4 est Ω(n+3)
! On dit « f(g) est en grand oméga de g(n) » (bg(n) minore f(n))
15
€
lim
n→+∞
f(n)
g(n)
$
%
& '
(
) ∈ ℜ+∪+∞
{ }
16
Notation-Ω (Analyse d’un algorithme)
! On utilise la notation Ω pour décrire le meilleur des cas et on cherche
une fonction simple qui décrit le comportement de l’algorithme dans le
meilleur des cas.
" Exemples : Ω(n), Ω(n2), Ω(log n)
! L’analyse est simplifiée selon les règles suivantes:
" Seul le monôme avec le degré le plus élevé est conservé
" Les constantes multiplicatives sont éliminées
! Exemple :
" si dans le meilleur des cas f(n) = 3n2+5n+4
f(n) = Ω(n)
" en effet
€
lim
n→+∞
3n2+5n+4
n
$
%
&
'
(
) =lim
n→+∞3n+5+4
n
$
%
& '
(
) =lim
n→+∞(3n+5+0) = +∞