UQAC, DIM 20 septembre 2004.
8INF805
Quelques exercices sur les tableaux
Exo. 1 : Concevoir un algorithme qui évalue le polynôme
∑
=
= n
i i i
n x a x
P
1
)
( . L’objectif étant de réduire le nombre de multiplications.
Exo. 2 : Une matrice creuse A st une matrice qui contient un nombre excessif de zéros. La transposée d’une matrice A est une autre matrice B dont les colonnes sont les ligne de A et les lignes sont les colonnes de A. Proposez une structure de données pour une matrice creuse A qui ignore les éléments nuls. Écrire un algorithme qui détermine la transpose de votre matrice représentée dans la structure de données que vous venez de proposer. Quelle est la complexité temporelle et spatiale de votre algorithme.
Exo 3: Une matrice tridiagonale est une matrice qui possède la forme ci-dessous :
x x 0 0 0 0 0 ……..0 x x x 0 0 0 ………..0 0 x x x 0 0 0 ………0 0 0 x x x 0 0 0 …….0 0 0 0 x x x 0 0 0 …. .0 ……….
0 0 0 ……… x x
C’est-à-dire, tous les éléments autres que ceux de la diagonale principale et des deux diagonales qui sont juste au dessous et au dessus de la diagonales principale, sont nuls.
Si les éléments de ces trois diagonales sont stockés dans un tableau à une dimension, colonne par colonne, avec A[1][1], stockés dans B[1], écrire un algorithme qui détermine la valeur de A[i][j]
à partir du tableau B. Quelle est la complexité de votre algorithme.