La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Structures de données IFT-10541 Abder Alikacem Linéarisation des matrices Département dinformatique et de génie logiciel Édition septembre 2009.

Présentations similaires


Présentation au sujet: "Structures de données IFT-10541 Abder Alikacem Linéarisation des matrices Département dinformatique et de génie logiciel Édition septembre 2009."— Transcription de la présentation:

1 Structures de données IFT Abder Alikacem Linéarisation des matrices Département dinformatique et de génie logiciel Édition septembre 2009

2 matrice dadjacence : (avec graphe non orienté) On peut, pour un graphe non-orienté, économiser de l'espace en ne stockant que le triangle supérieur de la matrice symétrique. Matrice triangulaire possède n = [n (n+1)] / 2 éléments. On la représente dans un vecteur ayant ce même nombre d'éléments. Si on la range par ligne, alors le vecteur aura l'allure suivante : A 11 A 21 A 22 A 31 A 32 A 33 A A nn Matrice triangulaire

3 matrice dadjacence : (avec graphe non orienté) Matrice triangulaire. Si A 11 est en position 1 (indice inférieur du vecteur), alors l'adresse de A ij est donnée par : Adresse = A 0 + ( i - 1 ) * i / 2 + j Ainsi, la position de A 42 est A à Des matrices symétriques, pour lesquelles A ij = A ji pour peuvent être également représentées de cette façon Matrice triangulaire

4 Linéarisation dune matrice int main() { int *tab; int i, j, k=0; tab=(int*)calloc( MAX_LIGNES*MAX_COLONNES,sizeof(int)); for (i=0; i

5 Linéarisation dune matrice triangulaire int main() { int *tab; int i, j, k=0; tab=(int*) calloc( MAX_LIGNES*( MAX_LIGNES+1)/2, sizeof(int)); for (i=0; i

6 #include "ModeleImplantationTabInt.h" #define OK 0 #define PAM 1 TabInt initTabInt(int *err); /*..*/ int * set (int *tab, int x, int i, int j, int *err); /* permet de placer la donnée x dans la matrice en (i, j) exactement si on aurait à faire: tab[i][j] */ int get(int *tab, int i, int j, int *err); /* get permet de lire l'élément de matrice en (i,j) */ TabInt destroyTabInt(TabInt tab, int *err); /* */ #include #define MAX_LIGNES2 #define MAX_COLONNES3 typedef int * TabInt;

7 #include "TabInt.h" int main() { TabInt tab; int i, j, k=0; int err; tab= initTabInt(&err); /* tab= initTab(INT, 2, 3, &err);*/ for (i=0; i


Télécharger ppt "Structures de données IFT-10541 Abder Alikacem Linéarisation des matrices Département dinformatique et de génie logiciel Édition septembre 2009."

Présentations similaires


Annonces Google