Vous êtes sur la page 1sur 2

---- ---- --r,-1lc I'

Mlnl H'
,
11 -1 l nr111
_ -_-
ul111, 11 m r,\, 11,
·- - •
111 rr ti,,rd1111d••11tlflri11u
'

llt,h 111lu1 M<Jt1n111rd l<hhln-111Im,


Vi Rcctorol tit' I'-' 1-brml\Uun S1111trlourc do l'o11l Orad1111llu11

el de II\ n..-cl.1orcl10 11Clcnllflqun


ConcoU.1"8 d'ncc(\s t\. ltt formation doctorolti do trolelflmo cycl11
Option : httclligencc utlficielle et t.ro.ltemeut d'lmo.go

tpreuve 2 :Algorithmlque Avancl!e et Complexlt6


22/01/2023, 15h-17h

.Exercice 1 (06 points ; 5 + I)


I. Donnez un algorithme lin re qui testc si un tableau <le taille n est un "tableau de
permutation" (i.e., tous Jes elementa sont clistincts et compris entre 1 ctn).
2. Justifiez la Iinea.rlte de l'algorithme.

Exerdce 2 (14 points : 2 + 3 + 4 + 1 + 4)


On souha.ite dans cet exercice, utiliser les a.rbrcs·A base pour trier des chaines binaires dans
l'ordre Iexicogra.phique (l'odre du dictionnaire).
Par exemple Jes chaines binaires suivantes : 10, l_0.11, 0, 100, 011 sont tril!c dans l'ordre
croissant lexicographique comme suit : 0, 011, 10, 100, 1011.
Un a.rbre a base est un arbre binaire, ou·la direction a gauche signifie un 11011 et la direction
a droite signifie un "I".
Le contenu d'un nreud en plus des pointeurs des dcux fl.ls est une variable booleenne indi
quant si la chaine bin re du chem,in de la racine ace nreud existe ou non.

Par exemple, Jes·chaines binaires preced e tes sont representees clans un arbre a base co me
. .
suit:

Page 1 de 2

Scanne avec CamScanner


On \c'Ol&S demMdo de :
l. &rire la function ExJsteChoJne(ll,S) permettnnt do retournor Vrni sl la chalne blne.lre S
existe dons l'nrl;ro ,\ hose d rucJne R et Faux einon.
2. &rire la fouct,iou PremiereCho.i i (R) permettant de retourner la. promll)re chQlne
bi118.lre, dans l'ordre croissant i"exicographique, existe.nt dan_sl'a. rbrc;,A base de
ra.cl.ne R. •
• 1, •

3. &rire Ja proredure Insere Ch ne(R.,S) permettant d'inserer la. chaine bine.ire S dans
l'arbre A base de racine R.
·4: "Dit comment peut-on utiliser un arbre a base pour trier un e semble de chaines binaires..
r• • . ., .. .

5. &rire la procedure TrierChianes(T[n]) permettant d'afficher les n chaines bina.ires existant


dan le tableau T dans l'ordre croissant lexicographique en utilisant un arbre a bMe.

*** Bonne chance ***

Scanne avec CamScanner

Vous aimerez peut-être aussi