Devoir Surveillé (sans documents) Structure de Données

publicité
IG2I
Année scolaire 2010/2011
Devoir Surveillé (sans documents)
Structure de Données & Algorithmique
Enseignant : Samir EL KHATTABI
Durée : 2 heures
Exercice 1 : Complexité
Question n°1 :
Reportez vos réponses sur le QCM fourni en annexe et n’oubliez de le joindre à votre copie.
Question n°2
Considérons la fonction définie ci-dessous :
double P(double x, int n)
{
if (n == 0) return 1;
if (n == 1) return x;
if (n % 2 == 0) return P(x*x, n/2);
return x * P(x*x, n/2);
}
a. Que calcule cette fonction ?
b. Établir la relation de récurrence exprimant le coût de cette fonction en nombre de
multiplications dans le cas le plus favorable. En déduire la complexité dans ce cas.
c. Établir la relation de récurrence exprimant le coût de cette fonction en nombre de
multiplications dans le cas le plus défavorable. En déduire la complexité dans ce cas.
d. En déduire la complexité dans tous les cas.
Exercice 2 : Arbre Binaire de Recherche
Question n°1
Représentez graphiquement l’arbre binaire de recherche obtenu après l’ajout, dans cet ordre, de
toutes les valeurs suivantes : ‘P’, ‘S’, ‘H’, ‘F’, ‘M’, ‘X’, ‘I’.
Question n°2
Écrire la (les) déclaration(s) de type(s) permettant de définir les noeuds ainsi que les pointeurs sur les
noeuds d’un ABR contenant des caractères alphabétiques.
Question n°3
Quelle est la hauteur minimale, ainsi que la hauteur maximale d’un arbre binaire formé de n noeuds ?
Question n°4
En utilisant la définition du type noeud établie à la question n°2, écrire de façon itérative la fonction
qui retourne la valeur du plus petit caractère alphabétique contenu dans un arbre de recherche non
vide ; la valeur d’un caractère est son code ASCII : ‘A’ = 65, ‘B’ = 66, ‘a’ = 97, ‘b’ = 98, …
IG2I/DS Structure de Données & Algorithmique (2010/2011)
-1-
Question n°5
En effectuant un parcours RGD puis un parcours GRD d’un ABR, développer deux versions d’une
fonction qui fournit comme résultat, le nombre de valeurs paires présentes dans un arbre binaire.
Question n°6
Ecrire une fonction int estIsomorphe(T_ABR a, T_ABR b) qui revoie 1 si a est isomorphe avec b, 0
sinon.
a est isomorphe avec b si toutes les valeurs présentes dans a et seulement les valeurs de a sont
présentes dans b (et vice versa).
Exercice 3 : AVL
Question n°1
Détaillez les opérations mises en jeu lors de l’ajout de la valeur 2, dans l’arbre AVL ci-dessous (figures
et commentaires nécessaires):
8
6
12
4
Question n°2
Détaillez les opérations mises en jeu lors de l’ajout de la valeur 5, dans l’arbre AVL ci-dessous
(figures et commentaires nécessaires):
8
6
12
4
Question n°3
Ecrire une fonction qui permet de supprimer un nœud dans un AVL.
IG2I/DS Structure de Données & Algorithmique (2010/2011)
-2-
Exercice 4 : TAS
Question n°1
Représentez graphiquement l’arbre partiellement ordonné (maximier) correspondant à une table dont
les valeurs sont rangées dans cet ordre : 18, 16, 9, 15, 5, 5, 8, 3
Question n°2
Complétez la définition de la macro-fonction précisant si le noeud rangé en position i d’un tableau de
n éléments représentant un maximier, est un noeud interne.
#define est1noeudInterne(i, n)
Question n°3
En utilisant les macro-fonctions FilsG(i), FilsD(i), supposées déjà écrites, écrire la fonction
permettant d’afficher, selon un parcours RGD, les valeurs présentes dans un maximier de taille n, à
partir d’une position i donnée.
void afficherRGD(int T[], int i, int n)
{
}
Question n°4
Ecrire une fonction qui permet de supprimer un nœud dans un TAS.
Exercice 5 : Graphes
Question n°1
Donnez la matrice d’adjacence du graphe ci-dessous :
0
3
2
3
1
2
1
2
1
5
4
1
3
Question n°2
Pour le graphe ci-dessus indiquez dans quel ordre seront visités les noeuds du graphe lors d’un
parcours en profondeur d’abord démarrant au noeud n°0.
LES REPONSES DOIVENT ETRE JUSTIFIEES et SANS AMBIGUITE
UN SOIN PARTICULIER DOIT ETRE APPORTE A VOTRE COPIE, IL EN SERA TENU COMPTE
DANS LA NOTATION.
BON TRAVAIL.
IG2I/DS Structure de Données & Algorithmique (2010/2011)
-3-
CETTE ANNEXE EST A COMPLETER AVEC VOS REPONSES ET A
RENDRE AVEC VOTRE COPIE
Nom :
Prénom :
DS SDA2
Pour chaque question du QCM, les notes possibles sont : -2 ; -1 ; 0 ; 1 ; 2 ; et 3 selon le barème
suivant :
Réponse(s) correcte(s) et complète(s)
+3 points
Absence de réponse
-2 points
Réponse(s) incorrectes et/ou incomplètes +1 point/rép. correcte
-1 point/rép. fausse ou absente
Ce qui donne un total de 30, qui sera rapporté à l’échelle d’une note globale sur 3 points.
Pour chaque question ci-dessous, cocher la ou les propositions correctes.
Question
Proposition A
Proposition B
Proposition C
La complexité du tri par insertion est
en …
En analyse d’algorithme, l’opération
de base d’un tri est …
□ Θ(log n)
□ Ω(n2)
□ O(n2)
□ la comparaison d’un
élément du tableau à un
autre élément
□ la comparaison de
l’indice d’un élément
au nombre d’éléments
□ l’échange de deux
éléments
□ ≥ 10 N
□ ≈ N+7
□ N+100
□ Ω(n)
□ Θ(n2)
□ O(n2)
□ Θ(n2)
□ Θ(n log n)
□ O(n log n)
□ optimal.
□ en Θ(n log n)
□ en O(log n)
x∈ℝ, ┌x┐ représente…
□ la valeur absolue de x
□ la partie entière de x
8
x∈ℝ+, └x┘ représente…
9
Le tri fusion a un coût en n log n …
□ le plus grand entier
inférieur à x
□ en moyenne
10
L’interclassement de deux séquences
ordonnées de n/2 éléments pour
former une seule séquence ordonnée
de n éléments, nécessite…
□ le plus petit entier
supérieur à x
□ dans le cas le plus
favorable
□ le plus petit entier
supérieur à x
□ la partie entière de x
□ au moins n/2
comparaisons
□ au plus log n
comparaisons
1
2
3
4
5
6
7
Un programme dont la complexité
est en Θ(2N) résout en 1 h un
problème de taille N sur un
ordinateur M1, quelle taille de
problème pourra-t-on traiter, avec le
même programme exécuté sur un
ordinateur M2,100 fois plus rapide…
La complexité du tri par
sélection est en …
La complexité d’un traitement
composé d’une opération P dont le
coût est en Θ(n log n), suivie d’une
opération Q dont le coût est en
Θ(n2), est en …
L’algorithme d’exponentiation rapide
(calcul de xn) présenté lors du cours
est :
IG2I/DS Structure de Données & Algorithmique (2010/2011)
□ dans le cas le plus
défavorable
□ au plus n
comparaisons
-4-
Note
Téléchargement