Académique Documents
Professionnel Documents
Culture Documents
Page 1 sur 5
Université de Blida 1 ALGORITHMIQUES ET STRUCTURES DE
p=suiv(p);
finsi;
finsi;
finTQ;
retourner vrai;
finsi;
finsi;
Fin;
quel est la complexité de cette fonction ? (01 pts)
O(N*M);
Q2. Écrire la fonction Asc_Noeud (A : Arbre, e : Arbre) qui récupère les ascendants
d’un nœud donné dans un arbre binaire A. (03 pts)
Indication :il est recommandé d’ajouter des paramètres supplémentaires à votre fonction.
Fonction Asc_Noeud (A:Arbre, e: Arbre, var L:Liste): booleen
Debut
Si((estVide(A))OU(estVide(e))) Alors
Retourner(faux);
sinon
si(val(A)= val(e)) alors
Retourner(vrai);
sinon
si (Asc_Noeud(FilsG(A), e, L)) Alors
AjoutFinLLC(L,val(A));
Retourner(vrai); finsi
Page 2 sur 5
Université de Blida 1 ALGORITHMIQUES ET STRUCTURES DE
Page 3 sur 5
Université de Blida 1 ALGORITHMIQUES ET STRUCTURES DE
trouve=vrai;
sinon
i=i+1;
finsi;
finTQ;
aff-fd(A, Construire_Arbre(in[], post[],i+1,f,Pindx));
aff-fg(A, Construire_Arbre(in[], post[], d,i-1, Pindx));
Retourner(A);
finsi;
finsi;
Fin;
Exercice 3 : (06 pts)
Soit une file F d’entier,
Q1. Écrire la procédure Elimine (F : File, k : entier) qui élimine le k ième élément de la
file F. (02 pts) Exemple : F= [1, 4, 7, 9, 11] avec k=4 la fonction renvoie F= [1, 4, 7, 11]
Procedure Elimine (var F:File, k:entier)
var i,x:entier; T: File;
Debut
Si(non FileVide(F)) Alors
i=0; initFile(T);
Tantque(non FileVide(F)) faire
Defiler(F,x); i=i+1;
si(i<>k) alors
Enfiler(T,x);
finsi;
finTQ;
Tantque(non FileVide(T)) faire
Defiler(T,x);
Enfiler(F,x);
finTQ;
finsi;
Fin;
Page 4 sur 5
Université de Blida 1 ALGORITHMIQUES ET STRUCTURES DE
Q2. Écrire la procédure récursive InverseRec (F : File), qui inverse tous les éléments de
file F. (01 pts)
Procedure InverseRec(Var F: File)
var x: entier;
Debut
Si(non FileVide(F)) Alors
Defiler(F,x);
InverseRec(F);
Enfiler(F,x); finsi;
Fin;
Q3. Écrire la fonction InversePremierK (F : File, k : entier) qui inverse l’ordre des k
premiers éléments de la file F. (03 pts)
Procedure inverse (Var F : File, k: entier)
Var x: enteir;
Debut
Si(k>0) Alors
Defiler(F,x);
Inverse(F,k-1);
Enfiler(F,x);
finsi;
Fin;
Fonction InversePremierK (F : File, k : entier, n : entier) : File
var x:entier;
Debut
Si(non FileVide(F)) Alors
inverse(F,k);
Tantque((n-k)>0)faire
Defiler(F,x);
Enfiler(F,x);
(n-k)=(n-k)-1;
finTQ;
finsi;
Fin;
Page 5 sur 5