Institut Supérieur d'Informatique de Médenine Examen Algorithmique et structure de données II LFSII Durée: Ih30mn 1 Session: Mai 2015 1 Enseignants: F. Jarray & M. Chniter Exercice 1 Soit l'arbre binaire de recherche donnée sur la figure suivante. 1. Dessiner l'arbre après l'ajout successif des nœuds 22, 27, 13. 2. Dessiner l'arbre après la suppression 3. L'opération d'ajout recherche produit successive des nœuds 11,32. est-elle « commutative » au sens où l'ajout de x puis de y dans un arbre binaire de le même arbre que l'ajout de y puis de x. Si oui dire pourquoi, sinon donner un contre exemple. 4. Donner les mots correspondants respectivement 5. Ecrire une fonction la somme des valeurs des feuilles dans un arbre binaire de recherche. qui retourne aux parcours préfixe, infixe et postfixe de l'arbre obtenu. 6. Soit deux arbres binaires de recherche A et B, écrire une fonction qui permet de déterminer le nombre des éléments com muns entre ces deux arbres. Exercice 2 1. Ecrire une procédure pour déplacer les entiers de Pl dans une pile P2 de façon à avoir dans P2 tous les nombres pairs en dessous des nombres impairs. Pl 2. Ecrire une fonction les mêmes éléments qui prend en paramètre respectivement P2 une file et une pile puis détermine s'ils sont identiques (possèdent du tête vers la queue) l~ P 1/1 Une pile est une structure de données de type LlFO (Iast in first out). Une File est une structure de données de typ FIFO (first in first out). On suppose que l'on dispose des primitives estVide(P) suivantes: : renvoie vrai si la pile est vide, faux sinon. sommet(P) : renvoie l'élément sommet de la pile P. dépilertf'] : supprime de la pile P le sommet. empiler(P, e) : ajoute au sommet de la pile P l'élément e. estVide(F) : renvoie vrai si la File est vide, faux sinon. sommet(F) : renvoie l'élément sommet de la file F. défiler(F) : supprime enfiler(F, e) : ajoute au sommet de la File F l'élément de la file F le l'élément queue(F) : renvoie l'élément en queue. e. en queue de la file F. Exercice 3 Ecrire une procédure d'entiers ~.--- Supprimer(L :LSC, x :entier) qui cherche un élément chainée puis supprime son successeur. ---_._--------------------~-------_._-1 dans une liste simplement -- _. __ ._- - - --- ----- ---- - --------- - - --- 2/1