Structures de données
Spécifier, choisir et implémenter les structures qui organisent les données, du tableau à l'arbre et au graphe.
programme
1
Objet, classe, interface
Introduire d'un seul tenant la programmation orientée objet et la distinction interface / implémentation, outils qui structurent tout le chapitre.
2
Implémenter une structure : l'exemple de la file FIFO
Mettre en pratique l'objet et l'interface avec une même file FIFO codée de deux manières, puis comparée du point de vue de la complexité.
Question centrale du chapitre : comment organiser les données pour agir efficacement dessus ? La plupart des algorithmes de Terminale supposent une structure adaptée : une file pour un parcours en largeur, un tableau trié pour une dichotomie, une représentation hiérarchique pour une arborescence.
Au programme :
- classes en Python : attributs, méthodes, instances (TA05) ;
- interface et implémentation d'une structure, et plusieurs implémentations d'un même contrat, par exemple une file codée par un tableau puis par deux piles (TA04) ;
- structures linéaires : listes, piles, files, dictionnaires (TA03) ;
- arbres binaires : taille, hauteur, encadrement (TA01) ;
- graphes : matrice d'adjacence et liste de successeurs (TA02).
Prérequis : les bases Python de Première (listes, dictionnaires, fonctions).