Intro Algorithmique Flashcards
Def : Analyse de complexité/efficacité des algorithmes
Déterminer les ressources utilisées pour exécuter l’algorithme.
Déf : Comment se mesure l’Efficacité des algorithmes
Se mesure par la quantité de ressources
utilisées.
● Le temps d’exécution
● L’espace mémoire utilisé
● La bande passante utilisée
Définition: le temps d’exécution d’un algorithme
est nombre d’opérations
élémentaires qu’il doit effectuer pour accomplir sa tâche.
Déf : Une opération élémentaire
est une opération non divisible.
Notation O
Détermine une borne supérieure éventuelle
Notation Ω
Détermine une borne inférieure éventuelle
Interprétation de
lim f(n)/g(n) n->∞
● = c > 0 alors f(n) en Θ(g(n))
● = 0 alors f(n) ∈ O(g(n)) et pas en Θ(g(n))
● = +∞ alors f(n) ∈ Ω(g(n)) et pas en Θ(g(n))
La règle de l’Hôpital
lim f(n)/g(n) n->∞
=
lim f’(n)/g’(n)
n->∞
Déf : Opération baromètre
opération élémentaire qui, À UNE CONSTANTE PRÈS, est effectuée au moins aussi souvent que n’importe quelle
autre opération élémentaire de l’algorithme.
Déf : Temps d’exécution en “Pire cas”
est le temps d’exécution
maximal parmi toutes les instances S de taille n.
Déf : Temps d’exécution en “Meilleur cas”
est le plus petit temps
d’exécution parmi toutes les instances S de taille n.
Déf :Le temps d’exécution moyen
est la moyenne des temps
d’exécution parmi toutes les instances S de taille n
Quand avons nous Tworst(n) = Tbest(n) = Tavg(n).
Lorsque le temps d’exécution ne dépends que de la taille n de l’instance
(et seulement dans ces cas)
Déf : Relation de récurrence
est une relation entre une fonction f
: N → R+ et elle même, évaluée sur une entrée plus petite.
Ex: f(n) = f(n-1) + 1.
Déf : Éventuellement non décroissante
Une fonction non négative f : N → R+ est dite
éventuellement non décroissante s’il existe n0 telle que f(n) ≤ f(n+1)
pour tout n ≥ n0.