Cours d'introduction aux algorithmes
1. Introduction aux algorithmes
Un algorithme est une serie d'etapes bien definies et finies utilisees pour resoudre un probleme ou
accomplir une tache.
Exemples :
- Suivre une recette pour cuisiner.
- Les etapes pour trouver un mot dans un dictionnaire.
2. Caracteristiques d'un algorithme
Un bon algorithme doit etre :
- Fini : Il doit avoir une fin.
- Precis : Chaque etape est claire et sans ambiguite.
- Avoir des entrees et des sorties.
- Efficace : Optimiser le temps et les ressources utilisees.
3. Representation d'un algorithme
Les algorithmes peuvent etre representes en :
- Texte : Liste d'etapes numerotees.
- Pseudocode : Langage proche de la programmation.
- Diagramme de flux : Graphique illustrant les etapes.
4. Exemple simple
Probleme : Trouver le plus grand nombre entre deux nombres.
Pseudocode :
1. Lire A et B.
2. Si A > B, alors afficher A.
3. Sinon, afficher B.
4. Fin.
5. Types d'algorithmes
- Iteratif : Utilise des boucles (exemple : calcul de la somme de nombres).
- Recursif : S'appelle lui-meme (exemple : calcul du factoriel d'un nombre).
- Greedy : Resout un probleme etape par etape en choisissant le meilleur choix local.
- Diviser pour regner : Divise un probleme en sous-problemes (exemple : tri rapide).
6. Analyse des algorithmes
On evalue un algorithme selon :
- Complexite temporelle : Temps pris en fonction de la taille de l'entree (ex. : O(n), O(log n)).
- Complexite spatiale : Memoire utilisee par l'algorithme.
Exercice : Ecrivez un algorithme pour calculer la somme des nombres de 1 a N.
Indice : Utilisez une boucle.