Exercices chapitre 3 : Structures linéaires

publicité
Faculté des Sciences Exactes
Année Universitaire 2015-2016
Département d’informatique
Filière : LMD SC S3
Exercices chapitre 3 : Structures linéaires
listes, piles et files
Exercice 1 :
Etant donné une matrice creuse dont plus que la moitié de ses éléments sont nuls.
0 8 0 9 0 0
3 0 0 0 0 14
0 0 2 0 0 0
0 0 0 0 0 0
Pour minimiser la taille de la représentation de cette matrice on choisi de la caractériser par un
tableau de listes linéaires, de telle façon à ce que la ième liste linéaire contient les éléments non nuls
de la ligne i de la matrice et chacun d'eux est doté du numéro de la colonne où il se trouve.
T[0]
8, 1
9, 3
T[1]
3, 0
14, 5
T[2]
2, 2
T[3]
Questions:
1. Définir la structure qui sera utilisée pour les cellules des listes linéaires.
2. Ecrire l’algorithme qui transforme une matrice M de taille nm en tableau de listes linéaire
comme définit précédemment.
3. Ecrire la fonction qui affiche un élément M[i][j] à partir de T.
Exercice 2 :
Faire la représentation d’un polynôme à l’aide d’une liste linéaire.
En utilisant cette représentation écrire la fonction qui calcule la somme de deux polynômes
d’ordres n et m.
Exercice 3 :
Ecrire l’algorithme qui inverse le contenu d’une liste linéaire. Faire pour cela une fonction
itérative et la transformer ensuite en fonction récursive.
Exercice 4 :
Ecrire la fonction qui supprime toutes les occurrences d’une valeur x dans une liste linéaire.
Exercice 5 :
Etant données deux listes linéaires dont les valeurs des éléments sont triés. Ecrire la fonction qui
fait leur fusion pour obtenir une liste triée également.
Exercice 6 :
Ecrire la fonction qui dit si une chaîne de caractères x est palindrome ou non.
Exercice 7 :
1. Ecrire la fonction récursive non terminale qui fait la somme des valeurs des éléments d’une pile
d’entiers.
2. Calculez sa complexité.
3. Transformez-la en fonction récursive terminale.
4. La dérécursiver.
Téléchargement