Académique Documents
Professionnel Documents
Culture Documents
On souhaite dans cet exercice traiter des listes représentant le concept mathématique d’ensemble. chaque
ensemble est représenté par une liste linéaire chainée.
Exemple : l’ensemble {1, 3, 9, 0, 6} est représenté par la liste de la figure suivante :
T ete 7−→ [1] 7−→ [3] 7−→ [9] 7−→ [0] 7−→ [6] 7−→ N il
Nous nous intéressons dans cet exercice aux arbres de recherche binaires d’entiers :
Écrire les procédures et fonctions suivantes sur les arbres binaires de recherches d’entiers.
1. Fonction ARB(R :Poniteur(TNoeud)) :booléen ;
Permettant de retourner Vrai si l’arbre de recherche binaire d’entiers de racine R est correct (respecte
les caractéristiques d’un ARB) et Faux sinon.
Page 1 de 6
Exercice 3 Graphes (5.5 pts : 1.5 + 3 + 1)
On souhaite représenter un graphe orienté étiqueté en mémoire sous forme de liste d ?adjacences comme
suit :
Graphe Représentation
1. Donner la déclaration des structures de données nécessaires à la représentation d’un tel graphe en
mémoire.
2. Écrire la Procédure DFS(i :entier) permettant d’afficher tous les nœuds qu’on peut atteindre à
partir du nœud i.
3. Ecrire la Fonction Chemin(i, j : entier) permettant de retourner Vrai si un chemin existe entre les
deux nœuds i et j.
Page 2 de 6
Corrigé type
Exercice 1 Listes linéaires chaı̂nées (6 pts : 2 + 2 + 2)
Page 3 de 6
3. Procédure Intersect(E1 , E2 :pointeur(TMaillon), var E :pointeur(TMaillon)) E2 .
Page 4 de 6
2. Fonction Frere(R :Pointeur(TNoeud), x :entier) :Pointeur(TNoeud) ;
Page 5 de 6
Exercice 3 Graphes (5.5 pts : 1.5 + 3 + 1)
Page 6 de 6