Vous êtes sur la page 1sur 2

Institut des Sciences

Appliques et
conomiques
ISSAE Cnam Liban

Centre du Liban Associ au CNAM de


Paris

Date: 12 sept 2015


Dure:2h 2nd session 2nd
semestre 2014 2015

Sujet coordonn par:


Dr. Amal Kobeissi

Aucun document est autoris

Examen rattrapage
Structure de donnes NFA006
Problme 1 (9 points) Cet exercice est constitu de trois parties indpendantes.
A- On sintresse aux arbres AVL.
A.1(0,5 pt.)- Rappeler la dfinition dun arbre AVL.
A.2(0,5 pt.)- Rappeler en quoi consiste lopration dadjonction dans un arbre AVL.
A.3(2 pts.)- Construire larbre AVL par adjonction des valeurs dans lordre de la liste donne cidessous. On sattachera particulirement expliquer le raisonnement. Donner quelques arbres
intermdiaires, sans oublier dy porter les dsquilibres.

A.4(0,5 pt.)- Quelles vrifications peut-on faire sur larbre final pour contrler une erreur
ventuelle ?
B- On s'intresse la suppression dans un arbre AVL.
B.1(0,5 pt.)- Rappeler en quoi consiste lopration de suppression dans un arbre AVL.
B.2(2 pts.)- On se donne larbre AVL ci-dessous (il est diffrent de celui que vous avez obtenu
dans la question A.3). Donner larbre obtenu par suppression de 45 dans cet arbre, puis celui
obtenu par suppression de 25 dans le nouvel arbre, en justifiant, chaque fois votre raisonnement.

C. On sintresse aux arbres binaires de recherche, et on reprend le mme arbre que celui
de la question B.2 .
C.1(0,5 pt.)- Donner la liste prfixe de larbre ci-dessus.
C.2(1 pt.)- Construire larbre binaire de recherche par adjonction des valeurs aux feuilles, dans
lordre de la liste prfixe obtenue en C.1. On sattachera particulirement expliquer le
raisonnement ? Donner les arbres intermdiaires.
C.3(0,5 pt.)- Quelle vrification peut-on faire sur larbre final pour contrler une erreur possible ?
C.4(1 pt.)- Larbre obtenu en C.2 devrait tre le mme que celui dont on est parti. Pourquoi ?

Problme 2 liste chaine (8 points)


On suppose quon a les observateurs ci-dessous :
listevide(L :liste) : boolen ; teste si la liste est vide
contenu(p :place ; L : liste) : lment ; donne llment contenu dans la place p
premier(L :liste) :place ; donne la premire place dans L, et NIL si L est vide
suivant(p :place ;L :liste) :place ; donne la place suivante, NIL si p est la dernire
dernier(p :place ;L :liste) :boolen ; teste si p est la dernire place de la liste

Structure des Donnes NFA006 2nd semestre 2me session 2015

1/2

et les constructeurs ci-dessous :


listevide(L :liste) ; cre une liste vide L
insererapres(x :element ;p :place ;L :liste) ; cre une place contenant x et linsre a la place
suivant p dans L
insererentete(x :element ;L :liste) ; cre une place contenant x et linsre en tte de L
supprimer(p :place ;L :liste) ; supprime llment qui se trouve la place p dans L
Question 1 (1 pt) Donner la dclaration d'une liste L.
Question 2 (2 pts) Ecrire lopration max de recherche du plus grand lment contenu dans la
liste. On utilisera exclusivement les oprations sur les listes fournies ci-dessus.
Question 3 (1 pt) Lopration max est-elle un observateur ou un constructeur ?
On implmente cette liste sous la forme dune liste doublement chaine circulaire. Dans cette
liste, une place est un pointeur vers un triplet compos de :
llment de la liste,
un pointeur vers la place prcdente de la liste
un pointeur vers la place suivante dans la liste
Une liste est un pointeur vers le premier lment de la liste. Il a la valeur NIL quand la liste est
vide.
Question 4 (1 pt) Donner la dclaration de cette liste.
Question 5 (3 pt) Ecrire lopration qui supprime le maximum dans cette liste.

Problme 3 Tas (3 points)


Etant donn un vecteur T qui vrifie la proprit dun tas maximal, crire une fonction qui ajoute
un lment e T et qui vrifie si ce vecteur garde la proprit Tas ou pas.

Structure des Donnes NFA006 2nd semestre 2me session 2015

2/2

Vous aimerez peut-être aussi