IG2I/DS Structure de Données & Algorithmique (2010/2011) - 1 -
IG2I
IG2IIG2I
IG2I
Année scolaire 2010/2011
Année scolaire 2010/2011Année scolaire 2010/2011
Année scolaire 2010/2011
Devoir Surveillé
(sans documents)
Structure de Données & Algorithmique
Enseignant : Samir EL KHATTABI Durée : 2 heures
Exercice 1
Exercice 1Exercice 1
Exercice 1
:
::
: Complexité
Complexité Complexité
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
Exercice 2Exercice 2
Exercice 2
:
: :
: Arbre Binaire de Recherche
Arbre Binaire de RechercheArbre Binaire de Recherche
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) - 2 -
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
Exercice 3Exercice 3
Exercice 3
: AVL
: AVL: AVL
: 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):
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):
Question n°3
Ecrire une fonction qui permet de supprimer un nœud dans un AVL.
12
8
4
6
12
8
4
6
IG2I/DS Structure de Données & Algorithmique (2010/2011) - 3 -
Exercice 4
Exercice 4Exercice 4
Exercice 4
: TAS
: TAS: TAS
: 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
Exercice 5Exercice 5
Exercice 5
: Graphes
: Graphes: Graphes
: Graphes
Question n°1
Donnez la matrice d’adjacence du graphe ci-dessous :
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.
2
0
1 3
4
3
3
1
1
1
2
2
5
IG2I/DS Structure de Données & Algorithmique (2010/2011) - 4 -
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
Note
1
La complexité du tri par insertion est
en …
□ Θ(log n) □ Ω(n
2
) □ O(n
2
)
2
En analyse d’algorithme, l’opération
de base d’un tri est …
□ 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
3
Un programme dont la complexité
est en Θ(2
N
) résout en 1 h un
problème de taille N sur un
ordinateur M
1
, quelle taille de
problème pourra-t-on traiter, avec le
même programme exécuté sur un
ordinateur M
2
,100 fois plus rapide…
□ ≥ 10 N
□ ≈ N+7
□ N+100
4
La complexité du tri par
sélection est en …
□ Ω(n) □ Θ(n
2
) □ O(n
2
)
5
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
Θ(n
2
), est en …
□ Θ(n
2
)
□ Θ(n log n)
O(n log n)
6
L’algorithme d’exponentiation rapide
(calcul de x
n
) présenté lors du cours
est :
□ optimal.
□ en Θ(n log n)
□ en O(log n)
7
x , ┌x┐ représente… □ la valeur absolue de x □ la partie entière de x
□ le plus petit entier
supérieur à x
8
x
+
└x┘ représente… □ le plus petit entier
supérieur à x □ le plus grand entier
inférieur à x □ la partie entière de x
9
Le tri fusion a un coût en n log n … □ dans le cas le plus
favorable □ en moyenne □ dans le cas le plus
défavorable
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…
□ au moins n/2
comparaisons
□ au plus log n
comparaisons
□ au plus n
comparaisons
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !