
 
 
Chapitre 3 (Analyse d’algorithmes) 
 
4.1 Introduction 
  Le but principal de ce cours est de vous apprendre à concevoir des algorithmes 
efficaces. Cependant, si vous avez le choix entre plusieurs algorithmes afin de résoudre 
un problème, vous devez être en mesure de choisir le «plus efficace». Un outil essentiel 
afin de prendre une telle décision est «l’analyse d’algorithmes». Malheureusement, il n’y 
a pas de recette miracle afin de procéder à l’analyse d’un algorithme en général. C’est 
surtout l’intuition, le jugement et l’expérience qui nous guide. Il y a cependant certaines 
techniques qui nous sont très utiles. Par exemple, il faut savoir comment analyser les 
appels récursifs, les boucles, les alternatives et autres instructions de contrôle (c’est alors 
que les concepts mathématiques du chapitre 2 joueront un rôle primordial). Ce chapitre a 
pour but de présenter quelques techniques généralement utilisées en analyse 
d’algorithmes.  
 
4.2  Analyse des structures de contrôle. 
   Principe de base 
La durée prise par l’exécution d’un programme pour traiter un exemplaire donné est 
la somme des durées des instructions exécutées pour traiter cet exemplaire (certaines 
instructions sont exécutées plusieurs fois). 
 
 
4.2.1 Séquence 
Somme des durées de chaque terme 
 
4.2.2 Alternative 
Durée du test + MAX(durée d’une branche) 
 
4.2.3 Boucle FOR 
Somme des durées de chaque tour de boucle (fonction Σ) 
 (exemples en classe) 
4.2.4 Appel récursif 
Obtention d’une équation de récurrence par simple inspection de l’algorithme 
 (exemples en classe) 
4.2.5 WHILE, REPEAT….. 
C’est instructions sont plus difficiles à analyser. On essaie habituellement de 
trouver une fonction des variables impliquées qui décroît à chaque «tour». Il faut 
alors prouver que la boucle se termine et calculer ou estimer le nombre de tour 
effectifs.    
 (exemples en classe)