[PDF] [PDF] SUJET + CORRIGE

Exercice 1 : ABR : algorithmes et complexités (20 points) Rappels : Les Arbres Binaires de Recherche (ABR) sont des arbres binaires qui satisfont la propriété



Previous PDF Next PDF





[PDF] TP 8 : Arbres binaires de recherche - Cedric-Cnam

Exercice 1 Définir une structure struct noeud_s permettant de coder un n÷ud d' un arbre binaire contenant une valeur entière Ajouter des typedef pour définir 



[PDF] Exercice sur les arbres binaires de recherche

A-Rappelez les propriétés des arbres binaires de recherche B-Rappelez ce qu' est l'opération d'adjonction aux feuilles C-Construire l'arbre binaire de recherche  



[PDF] SUJET + CORRIGE

Exercice 1 : ABR : algorithmes et complexités (20 points) Rappels : Les Arbres Binaires de Recherche (ABR) sont des arbres binaires qui satisfont la propriété



[PDF] Les arbres binaires de recherche

Exercice 3 Écrire une fonction Hauteur(x) prenant un arbre binaire et rendant sa hauteur, c'est à dire le nombre d'éléments 



[PDF] TP 10 Arbres binaires de recherche - Normale Sup

Exercice 1 Définir une structure struct noeud_s permettant de coder un n÷ud d' un arbre binaire contenant une valeur entière Ajouter des typedef pour définir 



[PDF] Travaux Dirigés Exercices corrigés sur les arbres

Solution de l'exercice 1 1 Exercices corrigés sur les arbres Soit le tableau suivant qui représente un arbre binaire T en triplets (info, gauche, droit) :



[PDF] TD : Arbres Binaires de Recherche (ABR) - ISIMA

Les exercices sont inspirés de [1] Dans toute la suite nous supposerons qu'un arbre binaire de recherche self est construit récursivement par l'utilisation de 



[PDF] TD5 : Arbres Binaires

Tout noeud du sous-arbre gauche de N a une valeur inférieure à n Exercice 4 Écrire la fonction qui vérifie si un arbre donné est bien un arbre binaire de



[PDF] TD No3

Exercice 1 arbres binaires Exercice 2 arbres binaires de recherche Dessinez l'arbre binaire de recherche obtenu par ajout successif aux feuilles des 



[PDF] TD7

Cette séance de Travaux dirigée est consacrée à l'étude du type de donnée arbre binaire Exercice 1 (Arbres binaires) 1 Implanter la spécification ABin en 

[PDF] exercice corrigé arbre rouge et noir

[PDF] arbre binaire de recherche en c

[PDF] les arbres en c openclassroom

[PDF] arbre binaire de recherche algorithme

[PDF] arbre binaire de recherche algorithme suppression

[PDF] parcours en profondeur arbre

[PDF] arbre binaire complet

[PDF] dénombrement cours

[PDF] arbre de probabilité pile ou face

[PDF] arbre de probabilité seconde

[PDF] arbre probabilité conditionnelle

[PDF] arbre de décision exercices corrigés

[PDF] arbre de décision data mining

[PDF] cours arbre de décision

[PDF] classification par arbre de décision

Master BioInformatiqueAnn

ee :2012/2013Semestre de decembre 2012

PARCOURS :Master 1

UE J1BS7202 :Algorithmique et Programmation

Epreuve :Examen

Date :Lundi 17 decembre 2012

Heure :10 heures

Duree :2 heures

Documents : autorises

Epreuve de M. AlainGriffaultSUJET + CORRIGE

Avertissement

La plupart des questions son t

independantes.

V ousp ouvezau c hoixutiliser un langage

algorithmiqueou bien lelangage python pour repondre aux questions.

L'espace laiss ep ourles r eponsesest suf-

sant (sauf si vous utilisez ces feuilles comme brouillon, ce qui est fortement deconseille).QuestionPointsScore

ABR : algorithmes et complexites20

Total:20

Exercice 1 : ABR : algorithmes et complexites (20 points) Rappels :Les Arbres Binaires de Recherche (ABR) sont des arbres binaires qui satisfont la propriete suivante :8Nun nud de l'arbre,8Gun nud du sous arbre gauche deN,8Dun nud du sous arbre droit deN,G:infoN:infoD:info, ouinfoest une valeur entiere servant a comparer les nuds. Voici pour memoire une version python de deux algorithmes vus en cours sur les ABR. defminimumABR(A): ifA==None: returnNone else:

Aux = A

whileAux. fg!=None:

Aux = Aux. fg

returnAuxdefsuccesseurABR(A,P): # P doit etre un noeud non nil de A ifP. fd!=None: returnminimumABR(P. fd ) else:

Aux = P

AuxPere = P. pere

whileAuxPere!=NoneandAuxPere . fd==Aux:

Aux = AuxPere

AuxPere = Aux. pere

returnAuxPere (a) (2 p oints)En v ousinspiran tde la fonction minimumABR(A)vue en cours, ecrire une fonction iterative maximumABR(A)qui retourne un pointeur sur le nud de l'arbreApossedant la plus grande valeur entiere s'il existe, la valeurnilsinon.

Solution:

defmaximumABR(A): ifA==None: returnNone else:

Aux = A

whileAux. fd!=None:

Aux = Aux. fd

returnAux(b)(2 p oints)Donner et justier les c omplexites(pire des cas et meilleur des cas) de v otrefonction

maximumABR(A)en fonction du nombre de nudsnou de la hauteurhde l'arbreA. UE J1BS7202 : Algorithmique et Programmation Examen, Annee 2012/2013

Solution:

Meilleur des cas :

(1) lorsque An'a pas de ls droit. Pire des cas : ( O)(n) lorsqueAn'a qu'une descendance par ses ls droits. La hauteurhde l'arbre

est alors egale an.(c)(3 p oints)En v ousin spirantde la fonction successeurABR(A,P)vue en cours, ecrire une fonction

predecesseur(A,P)qui retourne un pointeur sur le nud possedant la valeur qui precede la valeur contenue dansP.

Solution:

defpredecesseurABR(A,P): # P doit etre un noeud non nil de A ifP. fg!=None: returnmaximumABR(P. fg ) else:

Aux = P

AuxPere = P. pere

whileAuxPere!=NoneandAuxPere . fg==Aux:

Aux = AuxPere

AuxPere = Aux. pere

returnAuxPere(d)(2 p oints)Donner et justier les c omplexites(pire des cas et meilleur des cas) de v otrefonction

predecesseurABR(A,P)en fonction du nombre de nudsnou de la hauteurhde l'arbreA.

Solution:

Meilleur des cas :

(1) lorsque Pa un ls gauche qui n'a pas de ls droit. Pire des cas : ( O)(n) lorsquePest la racine, qu'il n'a pas de ls droit, qu'il a un ls gauche qui

n'a qu'une descendance par ses ls droits. La hauteurhde l'arbre est alors egale an.(e)(3 p oints)En utilisan tles fonctions minimumABR(A)etsuccesseurABR(A,P)vues en cours, ecrire une

fonction iterativeafficherCroissantABR(A)qui ache les valeurs de l'arbre binaire de rechercheA en ordre croissant.

Solution:

defafficherCroissantABR (A): ifA!=None:

Aux = minimumABR(A)

whileAux!=None: print(Aux. info )

Aux = successeurABR(A,Aux)(f)(2 p oints)Donner et justier les complexit es(pire des c aset meilleur des cas) de v otrefonction

afficherCroissantABR(A)en fonction du nombre de nudsnou de la hauteurhde l'arbreA.

Solution:

Meilleur des cas :

( n).

Pire des cas : ( O)(n).

Soit : Theta(n)(g)(2 p oints)En utilisan tles fonctions maximumABR(A)etpredecesseurABR(A,P)vues en cours, ecrire

une fonction iterativeafficherDecroissantABR(A)qui ache les valeurs de l'arbre binaire de re- chercheAen ordre decroissant.

Solution:

defafficherDecroissantABR (A): ifA!=None:

Aux = maximumABR(A)

whileAux!=None:Page 2 sur 3 UE J1BS7202 : Algorithmique et Programmation Examen, Annee 2012/2013 print(Aux. info )

Aux = predecesseurABR(A,Aux)(h)(2 p oints)

Ecrire une fonction recursiveafficherDecroissantRecursifABR(A)qui ache les valeurs de l'arbre binaire de rechercheAen ordre decroissant.

Solution:

defafficherDecroissantRecursifABR (A): ifA!=None: afficherDecroissantRecursifABR (A. fd ): print(A. info )

afficherDecroissantRecursifABR (A. fg ):(i)(2 p oints)Soit Aun ABR contenant au moins deux nudsP1etP2, et les deux sequences de calculs :

B1 = supprimerABR(A,P1)

B1 = supprimerABR(B1,P2)B2 = supprimerABR(A,P2)

B2 = supprimerABR(B2,P1)

A-t-on toujoursB1 = B2apres ces calculs? Si oui, justier. Si non, donner un exemple.

Solution:Non.Page 3 sur 3

quotesdbs_dbs20.pdfusesText_26