1
Introduction
à
l’algorithmique
Définition et formulation d’un algorithme. Applications à différents types de problèmes.
Opérations élémentaires. Choix d’un algorithme. Efficacité d’un algorithme. Analyse
en pire cas et analyse en moyenne. Décomposition fonctionnelle : identification des
tâches principales à accomplir et découpage en sous-tâches. Méthodologie de
résolution de problème.
2
Définition d’un algorithme
Procédure de calcul non ambigüe, finie,
déterministe et exprimée en termes
d’instructions élémentaires exécutables.
Méthode de solution d’un problème en termes
d’opérations élémentaires exécutables.
Aucune place pour l’interprétation, l’intuition et la créativité.
Différents algorithmes peuvent résoudre un même problème et
différents programmes peuvent servir à décrire un même algorithme.
Le choix d’un algorithme pour résoudre un problème peut dépendre
de plusieurs facteurs.
3
Aucune ambiguïté :
L’exécution d’un algorithme avec les mêmes données d’entrée doit toujours
réaliser exactement les mêmes tâches et fournir les mêmes résultats.
Exemple : À chaque jour, miser tout votre avoir sur le cheval le plus coté
jusqu’à ce que vous soyez millionnaire ou ruiné.
Cela dépend du jour où vous commencez à miser.
Cela dépend du montant d’argent que vous avez ce jour-là.
Fini : L’exécution d’un algorithme nécessite un nombre fini d’opérations
élémentaires.
Exemple : Deviner un nombre entier positif, négatif ou nul.
Deviner un nombre réel.
Évaluer la racine carrée du nombre 2.
Définition d’un algorithme
On doit tout spécifier dans le moindre détail.
Absence de mémoire de son expérience passée.
Déterministe :
Exemple : Explications pour trouver une maison de campagne.
Imprimer les résultats d’un programme résolvant un mot-mystère.
4
Définition d’une opération élémentaire
Lors de la conception d’un algorithme, le niveau de détail doit être bien défini
ou encore, le jeu d’instructions ou d’opérations élémentaires disponible.
Le temps d’exécution d’une opération élémentaire est borné par une
constante qui ne dépend pas des données à manipuler.
Exemple :
Tri d’une suite de n entiers.
Addition de 2 entiers.
Valeur absolue d’un nombre.
OUI NON
5
Un peu d’histoire
Entre 400 et 300 avant Jésus-Christ, un mathématicien grec Euclide a
inventé un algorithme qui détermine le plus grand commun diviseur de 2
entiers positifs.
Il s’agit du premier algorithme non trivial.
Le mot algorithme est dérivé du nom d’un mathématicien de Perse,
Mohammed alKhowârizmî (en latin Algorismus), qui a vécu au 9ième siècle.
Contribution :
algorithmes pour additionner, soustraire, multiplier ou diviser
des nombres décimaux.
1 / 49 100%