Ce cours destiné à être une introduction à de nombreuses idées fondamentales utilisées dans l'analyse des algorithmes et calcule de complexité. 


Il présente également deux types de structures de données qui jouent le rôle d'un moyen de stockage et d'organisation des données afin de faciliter l'accès et les modifications.


Ce cours destiné aux étudiants de deuxiéme année Licence en Informatique. 

A l'issu de ce cours l'étudiant sera capable de : 

  •  Concevoir et  analyser des algorithmes. 
  •  Calculer la complexité des algorithmes en fonction de la taille du problème. 
  • Comparer les algorithmes expérimentalement en fonction du temps d’exécution. 
  • Développer une capacité à définir et à manipuler les structures les plus simples "linéaires", et les plus complexes "hiérarchiques". 
  •  Connaître les forces et les limites des différentes structures et qu'aucune structure de données ne fonctionne bien à toutes fins utiles. 
  •  Apprendre l'impact du choix des structures de données sur la complexité algorithmique.