A l'issue de cette unité d’enseignement, l'étudiant·e sera capable de :

  • connaître les algorithmes de recherche, de permutations, de tri, de sélection. Savoir les décrire, les appliquer, les classifier selon leurs propriétés et leur complexité, les choisir de façon appropriée pour la résolution des problèmes ;
  • connaître les différents types de structures de données (tableaux, listes, tas, arbres, tables de hachage), pouvoir les mettre en œuvre, maîtriser les opérations de manipulation des éléments contenus dans ces structures (insertion, suppression, recherche, parcours, itération, déplacement) ainsi que les algorithmes spécifiques, connaître les complexités temporelles et spatiales associées ;
  • concevoir, implémenter et manipuler des nouvelles structures de données adaptées aux problèmes pratiques rencontrés, choisir et adapter les algorithmes pour résoudre de nouveaux problèmes ;
  • maîtriser les outils du langage C++ permettant de mettre en œuvre les différents algorithmes et structures de données étudiés. Comprendre et savoir utiliser l’ensemble de conteneurs et algorithmes de la STL.