Vous êtes sur la page 1sur 2

UNIVERSITE CHOUAÏB DOUKKALI

Faculté des Sciences


EL JADIDA
Département d’Informatique Année Universitaire 2019/2020
Filière : SMI4

SERIE N° 2
Algorithmiques et Structures de Données

Exercice 1 :

1. Écrire une fonction cree_arbre() qui prend en argument une valeur entière
ainsi que deux arbres et renvoie un arbre dont la racine contient cette valeur et
les deux sous arbres sont ceux donnés en paramètre.
2. Écrire une fonction (récursive) detruit_arbre() qui libère la mémoire occupée
par tous les nœuds d'un arbre binaire.
3. Écrire une fonction (récursive) nombre_de_noeuds() qui calcule le nombre de
nœuds d'un arbre binaire.
4. Écrire une fonction compare() qui compare deux arbres binaires (la fonction
renvoie une valeur nulle si et seulement si les deux arbres binaires ont la même
structure d'arbre et qu'ils portent les mêmes valeurs aux nœuds correspondant).

Exercice 2 :

1. Construire un Arbre Binaire de Recherche (ABR) sur E = {1, 2, 6} ;


2. Ecrire une fonction qui retourne le sommet de clé minimale d’un ABR ;
3. Ecrire une fonction qui permet d’insérer un nouveau sommet x dans un ABR;
4. Écrire une fonction trouve_noeud() qui renvoie l'adresse d'un noeud de l'ABR
donné en paramètre contenant une certaine valeur (ou NULL si cette valeur ne
figure pas dans l'arbre).

Exercice 3 :

1. Dans les deux exemples d’ABR, où peut-on insérer un élément de clé 13 ? (avec N
une feuille (sans clé))
2. Dans les deux exemples d’ABR, comment peut-on supprimer l’élément de clé 14 ?

Pr. M. E. RIFFI Page 1/2


Exercice 4 :

1. Sur l’exemple de l’exercice 1, faire une rotation à droite de centre le nœud de clé 3;
puis une rotation à gauche de centre le nœud de clé 14.
2. Sur l’exemple de l’exercice 1, à l’aide de rotations dont vous préciserez le sens et le
centre, amener le nœud de clé 9 à la racine.
3. Démontrer que toute rotation préserve la propriété d’être un arbre de recherche.

Exercice 5 :

1. Dans l’arbre rouge noir donné, que valent Hn(30), Hn(20), Hn(35), Hn(50) ?
(Avec : pour x un nœud d’un arbre rouge noir. On appelle hauteur noire de x,
notée Hn(x), le nombre de nœuds noirs présents dans un chemin descendant de x
(sans l’inclure) vers une feuille de l’arbre).
2. Montrer que, pour un nœud x quelconque dans un arbre rouge noir, le sous-arbre
enraciné à x contient au moins 2Hn(x) - 1 nœuds internes.
3. En déduire qu’un arbre rouge noir comportant n nœuds internes a une hauteur au
plus égale à 2 log(n + 1).

Exercice 6 :

1. Ecrire une fonction qui retourne vrai si deux sommets sont adjacents, dans un
graphe non orienté ;
2. Ecrire une fonction qui calcul le degré d’un sommet dans un graphe non
orienté ;
3. Ecrire une fonction qui retourne vrai si un sommet j est successeur d’un autre
sommet i, dans un graphe orienté ;
4. Ecrire une fonction qui calcul le degré extérieur d’un sommet, dans un graphe
orienté ;

Pr. M. E. RIFFI Page 2/2

Vous aimerez peut-être aussi