IFT 2015 Structures de données Professeure: Sylvie Hamel

publicité
IFT 2015 Structures de données
Professeure: Sylvie Hamel
EXAMEN FINAL, lundi 15 décembre 2008
NOM:
CODE PERMANENT:
QUESTION 1:
20 pts
QUESTION 2:
20 pts
QUESTION 3:
20 pts
QUESTION 4:
20 pts
QUESTION 5:
10 pts
QUESTION 6:
10 pts
TOTAL
/100
Directives
1)
2)
3)
4)
Vérifiez que ce document comporte bien 18 pages.
Utilisez les versos des pages comme brouillons.
Examen à livre fermé i.e. aucune documentation permise.
Les règles concernant le plagiat seront strictement appliquées.
1
Arbres
Question 1) Arbres binaires de recherche [20 points]
a) [3pts] Qu’est-ce qu’un arbre binaire de recherche?
b) [5pts] On ajoute à un arbre de recherche binaire initialement vide les clés suivantes
dans cet ordre: 12, 24, 2, 18, 16, 19, 20, 26 et 18. Dessinez la forme finale de l’arbre
de recherche.
2
c) [5pts] On enlève à l’arbre obtenu en b) l’élément de clé 24 puis l’élément de clé 12,
dans cet ordre. Dessinez les arbres obtenus après chacune des suppressions.
3
d) [7pts] Donnez le pseudocode de l’opération chercher(k) dans un arbre binaire de
recherche.
4
Question 2) Arbres AVL [20 points]
a) [3pts] Qu’est-ce qu’un arbre AVL?
b) [5pts] On ajoute à un arbre AVL initialement vide les clés suivantes dans cet ordre:
12, 24, 2, 18, 16, 19, 20, 26 et 32. Dessinez l’arbre avant et après chaque rebalancement
et l’arbre final.
5
6
c) [5pts] On enlève à l’arbre obtenu en b) l’élément de clé 20 puis l’élément de clé 18, dans
cet ordre. Dessinez les arbres obtenus après chacune des suppressions (et rebalancement
si nécessaire).
7
d) [7pts] Choissisez un événement de débalancement, dessinez-le et donnez le pseudocode
de la reconstruction.
8
Question 3) Arbres (2,4) [20 points]
a) [4pts] Qu’est-ce qu’un arbre (2,4)?
b) [5pts] On ajoute à un arbre (2,4) initialement vide les clés suivantes dans cet ordre: 12, 24, 2, 18, 16, 19, 20, 26, 4, 10 et 8. Dessinez l’arbre avant et après chaque
débordement/fractionnement et l’arbre final.
9
10
c) [5pts] On enlève à l’arbre obtenu en b) l’élément de clé 16 puis l’élément de clé 26
puis l’élément de clé 19, dans cet ordre. Dessinez les arbres obtenus après chacune des
suppressions (et fusion ou transfert si nécessaire).
11
d) [3pts] Donnez un arbre (2,4) équivalent à l’arbre rouge-noir suivant:
62
16
44
10
2
17
78
22
15
17 48
65
54
45
20
21
e) [3pts] Donnez un arbre rouge-noir équivalent à l’arbre (2,4) suivant:
8 24
1 5
12
9 16
28
Graphes
Question 4) [20 points] Supposons qu’un graphe non-orienté G soit représenté par la liste
d’adjacences suivante:
Sommet
1
2
3
4
5
6
7
8
9
Sommets adjacents
2,3,4,8
1,5,6
1,5
1,5,7
2,3,4,6,7
2,5,9
4,5
1
6
a) [2pts] Dessinez le graphe G
13
b) [5pts] Donnez, dans l’ordre de visite, la séquence des sommets visités lors d’un parcours en profondeur de G (Depth-first search) à partir du sommet a. Dessinez le
graphe G avec les arêtes sélectionnées par l’algorithme en ligne pleine et les arêtes non
sélectionnées en trait pointillé.
Ordre de sélection des sommets:
Graphe:
c) [5pts] Donnez, dans l’ordre de visite, la séquence des sommets visités lors d’un parcours
en largeur de G (Breadth-first search) à partir du sommet a. Dessinez le graphe G avec
les arêtes sélectionnées par l’algorithme en ligne pleine et les arêtes non sélectionnées
en trait pointillé.
Ordre de sélection des sommets:
Graphe:
14
d) [8pts] Donnez le pseudo-code d’un algorithme permettant de trouver le plus court
chemin entre un sommet et tous les autres sommets du graphe. Quel est la complexité
de votre algorithme et pourquoi?
15
Question 5) [10 points]
a) [5pts] Que calcule l’algorithme de Kruskal et quel est la complexité de l’algorithme et
pourquoi?
b) [5pts] Décrivez le déroulement de l’algorithme sur le graphe suivant en dessinant chaque
étape de sélection. (Votre dernier graphe devrait contenir les arêtes sélectionnées en
ligne pleine et les arêtes non sélectionnées en trait pointillé).
16
17
Question 6) [10 points] a) [5pts] Trouver un ordre topologique pour les sommets du graphe
qui suit.
c
b
g
a
h
d
f
e
b) [5pts] Dans quel cas l’algorithme utilisé en a) ne trouve-t-il pas de solutions?
18
Téléchargement