Vous êtes sur la page 1sur 4

Université Polytechnique de Bingerville

L2 MIAGE
Structures de données Travaux dirigés Dr MORIE

Fiche 1
Exo 1 :
Ecrire un programme qui calcule le produit scalaire de deux vecteurs d'entiers U et V (de même
dimension). Soit U = (2, 3, 8) et V = (-1,0,5), U * V = 2*-1+3*0+8*5
Exo 2 :
Soit un tableau T de taille n, Quel algorithme de tri est efficace en fonction de n ? Quelle est
l’inconvénient du tri rapide ?
Exo 3 :
Soit les algorithmes A1 et A2 avec leurs temps d’exécution T1(n) = 9n2 et T2(n) = 100n + 96
respectives.
1. Déterminer la complexité asymptotique des deux algorithmes. Lequel est le plus rapide ?
2. Quel Algorithme choisir dans le meilleur des cas ? jusqu’à quelle valeur de n ?
Exo 4 :
Soit les fonctions marcher() et courir() de complexité o(1). Déterminer le nombre de fois qu’elles
sont appelées dans les scripts ci-dessous.

Pour i  1 à n Faire Pour i  1 à n Faire


marcher() marcher()
Fin pour Pour j  1 à n Faire
Pour j  1 à n Faire courir()
courir() Fin pour
Fin pour Fin pour

Pour i  1 à n Faire
marcher()
Pour j  1 à n Faire
courir()
Pour k  1 à n Faire
marcher()
Fin pour
Fin pour
Fin pour

Quelle est la complexité asymptotique de ces scripts ?


Exo 5 :
Soit un tableau T de taille n, écrire un algorithme permettant de déterminer le nombre d’occurrence
d’un élément donné. Quelle est sa complexité dans chaque cas ? pourquoi ?
Exo 6 :
Soit deux nombres complexes C1 et C2 de la forme (a + bi),
1- Quelle structure de données est appropriée pour représenter ces nombres ?
2- Ecrire un algorithme qui lit ces deux nombres complexes et qui affiche ensuite leur somme et
leur produit.
Université Nangui Abrogoua
UFR SFA – M1 Maths
Structures de données Travaux dirigés Dr MORIE

Fiche 2
Exo 1 :
Une voiture est spécifiée par sa marque, son immatriculation, sa date de sortie et sa consommation.
1- Quelle est la structure de données qui correspond au mieux à cette spécification ?
2- Ecrire un programme pour déclarer et afficher les informations sur la Mercedes 1245HB01
sortie le 13/02/2019 et qui fait du 6,5 L/100.
Exo 2 :
Dans une boutique en ligne, des produits sont proposés par des vendeurs. La relation est représentée
dans le MCD suivant.

Faites la déclaration du produit suivant : 0001, Smartphone, Samsung, 250 000 TTC, dont le vendeur
est la SARL, ALTO Boutique, sise à Treichville.
Exo 3 :
Quel est l’apport des tableaux par rapport aux variables ? Quel est l’apport des enregistrements par
rapport aux tableaux ?
Exo 4 :
En utilisant un tableau, proposez une structure permettant de stocker une pile d’entiers ;
1- Écrire précisément les invariants puis les primitives de la structure.
2- Comment faire pour que la taille de la pile soit dynamique sans perdre en complexité.
Exo 5 :
Soit la pile P, empilez les entiers 1 puis 2 puis 3 puis 4 puis 5, ensuite dépilez deux éléments aux
sommets, quels entiers contient la pile ?
Exo 6 :
Soit P une pile d’entiers. Écrire les fonctions pour déterminer :
1- Compter tous les éléments
2- Afficher tous les éléments.
3- La valeur maximale et la valeur minimale.
Exo 7 :
Soit la pile P1 contenant les caractères suivants : A, C, J, K, F, P.
1. Quelle est le sommet de P1 ?
2. Ecrire une procédure permettant d’inverser l’ordre des éléments de P1.
Université Nangui Abrogoua
UFR SFA – M1 Maths
Structures de données Travaux dirigés Dr MORIE

Fiche 3
Exo 1 :
Donnez la définition d'un pointeur
Exo 2 et réponse :
Soit le pointeur suivant :

Adresse
Age @202
P @500

1 2 3 4
Age : -3 8 0 5

Age : Tab[10] de Entier ;


Entier *p ;
P = &Age ;
Que renvoient les éléments suivants :
1- *p :
2- *Age :
3- &P :
4- &Age[1] :
5- &Age :
6- &Age[1] + 1 :
7- &(Age[1] + 1) :
Exo 3 :
Soit les pointeurs p et q pointant sur des réels codés sur 8 octets. Leurs données sont :

Adresse Valeur
p @102302 @406050
q @608020 @406058
Donner les résultats des opérations suivantes :
(a) p + 1
(b) q – 2
(c) p – q
(d) p + (q – p)
Exo 4 :
Soit la variable texte de type chaine de caractère, proposer un Algorithme qui lit cette chaîne de
caractères et affiche sa longueur à l'aide seulement d'un pointeur.
Indication : une chaine de caractères est un tableau de caractère qui se termine par le caractère ‘\0’
Exo 5 :
Soit le tableau T suivant,

3 0,80 -5 1,45 100,02


Quelle est l’adresse de la case de valeur -5 ?
Exo 6 :
Faites la déclaration complète d'une liste chaînée.
Exo 7 :
Ecrire les procédures permettant de :
1- Afficher les éléments d'une liste
2- Donner la taille d’une liste chainée
3- Compter le nombre d’occurrence d’un élément dans une liste
4- Supprimer un élément d'une liste
Exo 8 :
Soit la liste L, comment insérer un maillon
1- En tête de liste, Quelle est la complexité asymptotique de cette procédure ?
2- En fin de liste, Quelle est la complexité asymptotique de cette procédure ? que faire pour
réduire cette complexité ?
Exo 9 :
Soit A un arbre, écrire les procédures suivantes :
1- Parcours en largeur
2- Parcours préfixé
3- Supprimer un nœud

Vous aimerez peut-être aussi