Académique Documents
Professionnel Documents
Culture Documents
Exercice 1 :
- On considère l’arbre suivant :
A
B C D
E F G
H
Donner la transformation de cet arbre en un arbre binaire et le résultat de parcours infixé,
prefixé et postfixé.
Réponses :
1/2
Exercice 2 :
Dites ce que fait la fonction « fct » suivante et déduire les déclarations des variables.
void fct(Pointer ptr,Vector v[],int *i)
{
if (ptr!=NULL)
{
v[*i].inf=ptr->inf;
v[*i].gauche=ptr->gauche;
v[*i].droite=ptr->droite;
*i=*i+1;
fct(ptr->gauche,v,i);
fct(ptr->droite,v,i);
}
}
Réponse :
À partir des instructions on peut en déduire que Vector et Pointer sont deux types définis
par :
typedef struct a Vector ;
typedef struct a* Pointer ;
struct a { type inf ;
Pointer gauche ;
Pointer droite ;
};
Cette fonction permet de lire un arbre pointé par ptr en utilisant un parcours prefixé et de
stocker ses nœuds dans un tableau du même type V. L’information contenue dans un nœud
inf étant de type quelconque.
2/2