Université de Corse - IUP NTIC2 2005/2006 – Algorithmes et Structures de Données
Qualité d'un algorithme
Performance : Étude du coût (complexité) en temps
et en mémoire
La complexité en mémoire (place mémoire prise par
l’algorithme) = problème de moins en moins primordial
vu les capacités techniques actuelles
Rmq : ne pas confondre un pb de mémoire saturée qui
vient du pg avec la complexité mémoire de l’algorithme
La complexité en temps
Certains pbs n’admettent pas de solutions, d’autres ont
des solutions qui nécessitent bcp de temps d’exécution
(pbs irréalisables)
On distingue la complexité en moyenne, la complexité
dans le pire des cas, et la complexité au meilleur des
cas
Université de Corse - IUP NTIC2 2005/2006 – Algorithmes et Structures de Données
Qualité d'un algorithme
La complexité en temps
Problème exponentiel
Utilisation d’heuristiques :
Méthode qui produit la plupart du temps un résultat
acceptable mais pas nécessairement optimal en un
temps raisonnable
On ne pourra pas prouver s’il est optimal ou non
Université de Corse - IUP NTIC2 2005/2006 – Algorithmes et Structures de Données
Pourquoi trier ?
Ranger les éléments dans un ordre connu (croissant
ou décroissant) pour faciliter les opérations de
Recherche, Insertion, Suppression
Exemples
Établir le classement de certains élèves
Mettre en ordre un dictionnaire
Trier l'index d'un livre
{18, 3, 10, 25, 9, 3, 11, 13, 23, 8}
doit devenir
{3, 3, 8, 9, 10, 11, 13, 18, 13, 25}
Université de Corse - IUP NTIC2 2005/2006 – Algorithmes et Structures de Données
Comment et quand trier ?
Il faut faire une distinction entre le tri d'un grand nombre
d'élément : plusieurs centaines, et le tri de quelques
éléments : paquet de cartes
Si peu d’éléments la méthode importe peu
Tri d’un paquet de carte : regarder si le paquet est trié si
oui, arrêter sinon le jeter par terre et recommencer…
Au bout d’un certain temps on risque d’avoir un
paquet ordonné !
La méthode peut également ne jamais s’arrêter
Le tri est possible s’il existe une relation d’ordre sur les
éléments
entiers, mots, …