Académique Documents
Professionnel Documents
Culture Documents
Conception
et Analyse des
Algorithmes
PLAN
Problèmes algorithmiques
Algorithmes
Programmes
1
18/10/2020
Problèmes algorithmiques
• Problèmes de calcul
• Un problème de calcul spécifie une relation entrée-sortie
• À quoi ressemble l'entrée?
• Quelle devrait être la sortie pour chaque entrée?
• Exemple:
• Entrée: un nombre entier N
• Sortie: Le nombre est-il premier?
• Exemple:
• Entrée: une liste de noms de personnes
• Sortie: La même liste triée par ordre alphabétique
• Exemple:
• Entrée: une image au format numérique
• Sortie: Une description en anglais de ce que l’image montre 4
2
18/10/2020
Définir un Problème
• Problème:
Description de la relation entrée-sortie
• Algorithme:
Une séquence d’étapes de calcul qui transforme l’entrée
en sortie.
• Structure de données:
Une méthode organisée pour stocker et récupérer des
données.
• Notre tâche:
Face à un problème, concevoir un algorithme correct et
efficace qui le résout.
5
Problème
• Une instance d'un problème comprend toutes les entrées
nécessaires pour calculer une solution au problème.
3
18/10/2020
4
18/10/2020
Algorithmes
• Un algorithme est une spécification exacte de la façon de
résoudre un problème de calcul
• Un algorithme doit spécifier chaque étape de manière complète,
afin qu'un ordinateur puisse la mettre en œuvre sans plus de
"compréhension"
• Un algorithme doit fonctionner pour toutes les entrées possibles
du problème.
• Les algorithmes doivent être:
1. Correct: pour chaque entrée, produire une sortie appropriée
2. Efficace: le plus rapidement possible avec le moins de mémoire
possible
• Il peut y avoir de nombreux algorithmes différents pour chaque
problème de calcul.
10
5
18/10/2020
Un algorithme?
• Algorithme
Algorithme: Toute procédure de calcul bien définie qui prend
une valeur ou un ensemble de valeurs en entrée et produit une
valeur ou un ensemble de valeurs en sortie.
Un programme?
• Un programme est l'expression d'un algorithme dans un
langage de programmation
• un ensemble d'instructions que l'ordinateur suivra pour
résoudre un problème
12
6
18/10/2020
Applications
• Problèmes d’étude auxquels ces techniques peuvent
s’appliquer
tri
récupération de données
routage réseau
Jeux
etc
13
7
18/10/2020
15
• Efficacité de l'algorithme:
L'efficacité du temps.
Efficacité de l'espace
16
8
18/10/2020
17
18
9
18/10/2020
19
• Simplicité, clarté
Vérification et mise en œuvre.
• Optimalité
Est-il impossible de faire mieux?
20
10
18/10/2020
Complexité
21
22
11
18/10/2020
23
• Variables et valeurs
• Instructions Séquences (une série d'instructions)
• Procédures (une séquence d'instructions nommée)
• Sélections (Une instruction qui détermine laquelle des
deux séquences possibles est exécutée)
• Répétitions (Répéter une instruction ...)
• Documentation (enregistre ce que l'algorithme fait)
24
12
18/10/2020
25
26
13
18/10/2020
Référence
27
14