Qu`est un type de donnée abstrait

publicité
BTGI
DEVOIR SURVEILLE EN
ALGORITHMIQUE
Durée : 2heures
Questions de cours
1. Qu'est un type de donnée abstrait
2. Comparer une structure de donnée implémentée en utilisant un tableau et une
structure de donnée implémentée en utilisant une liste chainée
3. Définir une liste doublement chainée
4. Expliquer comment est implémentée une file en utilisant un tableau circulaire
5. Dessiner une structure de données en arbre et définir les termes suivants
 Racine
 Nœud
 Feuille
 Branche
 Hauteur ou profondeur
6. Définir un arbre binaire de recherche ( ABR)
Exercice 1.
1. Si, partant d’une pile p vide, on ajoute (en empilant), les entiers 1, puis 2, puis 3,
puis 4, puis 5 et que, ensuite, on supprime (par dépilement) deux éléments, quels
entiers contient la pile ?
2. Même question avec une file (utiliser les fonctions d’ajout et de suppression des
files à laplace de l’empilement et du dépilement)
Exercice 2:
Soit la structure de l'arbre suivant utilisé pour représenter une structure d'entiers:
1. L'arbre ci-dessus est-il binaire?
2. Est-ce qu'il représente un arbre binaire de recherche?
3. Donner une structure appelé nœud représentant un élément de cette structure
arborescente.
16/04/2017 anouar
1
BTGI
4. Donner le rendu (l'affichage) de l'arbre selon les trois parcours suivants:
 Parcours préfixe
 Parcours infixe
 Parcours postfixe
5. soit l'expression: (a+b)*c-d/e
on veut la représenter en utilisant un arbre syntaxique, les feuilles de l'arbre
contiendront les opérandes et les autres nœud les opérateurs, le parcours de l'arbre
sera en postfixé, dessiner l'arbre correspondant à cette expression arithmétique.
Exercice 3:
Ecrire un algorithme qui permet de compter les éléments d'une liste chainée de deux
façons différentes:
1. Itérative
2. Récursive
Exercice 4:
Ecrire les algorithmes récursifs qui permettent:
1. D'ajouter un élément x donné en queue d'une liste
2. D'ajoute un élément x donné après un élément y donné
Exercice 5:
1. Ecrire un algorithme (non récursif) qui permet de supprimer un élément en tête
de liste (le premier élément de la liste)
2. Transformer cet algorithme pour qu'il efface tout les éléments de la liste
Exercice 6
.
1. Ecrire une fonction récursive deux_puiss(n en entier) qui calcule 2n (en utilisant
seulement le produit) avec n est un nombre entier positif ou nul.
2. On utilise un tableau pour stocker un nombre binaire de 8 bits. Ecrire un
algorithme qui permet de saisir la valeur binaire et de calculer l’équivalent
décimal de ce nombre binaire. Dans cet algorithme faites appel à la fonction
deux_puiss (n) que vous avez définie dans l’exercice précédent.
3.
nous allons maintenant écrire un algorithme qui fait l'opération inverse (la
conversion d'un nombre décimal en binaire) en utilisant une structure de données
pile, établir l'algorithme qui permet de faire cette conversion en utilisant:
 une structure pile implémentée sous forme de tableau
 une procédure initialiser la pile
 une procédure empiler un entier x
 une procédure depiler
nota: faites un schéma pour expliquer
16/04/2017 anouar
2
Téléchargement