Logo de kxs.frCours d'informatique pour le lycée et la prépa

Graphes et algorithmes liés

Introduction

Les graphes représentent une grande partie du programme de terminale car nous allons voir beaucoup d'algorithmes concernant les graphes. Dans un premier temps, nous allons découvrir les graphes pour aller jusqu'à ceux qui nous intéressent particulièrement cette année : les arbres binaires. Dans un second temps, nous verrons des algorithmes utilisés avec les graphes.

Parties du programme abordées

Les parties encadrées en rouge sont « prépondérentes ». Vous pourrez choisir 3 exercices sur 5 lors de l'épreuve en ayant vu que les parties prépondérentes.

Contenus Capacités attendues Commentaires
Arbres : structures hiérarchiques. Arbres binaires : nœuds racines, feuilles, sous-arbres gauches, sous-arbres droits. Identifier des situations nécessitant une structure de données arborescente. Évaluer quelques mesures des arbres binaires (taille, encadrement de la hauteur, etc.). On fait le lien avec la rubrique « algorithmique ».
Graphes : structures relationnelles. Sommets, arcs, arêtes, graphes orientés ou non orientés. Modéliser des situations sous forme de graphes. Écrire les implémentations correspondantes d’un graphe : matrice d’adjacence, liste de successeurs/de prédécesseurs. Passer d’une représentation à une autre. On s’appuie sur des exemples comme le réseau routier, le réseau électrique, Internet, les réseaux sociaux. Le choix de la représentation dépend du traitement qu’on veut mettre en place : on fait le lien avec la rubrique « algorithmique ».
Algorithmes sur les arbres binaires et sur les arbres binaires de recherche. Calculer la taille et la hauteur d’un arbre. Parcourir un arbre de différentes façons (ordres infixe, préfixe ou suffixe ; ordre en largeur d’abord). Rechercher une clé dans un arbre de recherche, insérer une clé. Une structure de données récursive adaptée est utilisée. L’exemple des arbres permet d’illustrer la programmation par classe. La recherche dans un arbre de recherche équilibré est de coût logarithmique.
Algorithmes sur les graphes. Parcourir un graphe en profondeur d’abord, en largeur d’abord. Repérer la présence d’un cycle dans un graphe. Chercher un chemin dans un graphe. Le parcours d’un labyrinthe et le routage dans Internet sont des exemples d’algorithme sur les graphes. L’exemple des graphes permet d’illustrer l’utilisation des classes en programmation.