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

Slides:



Advertisements
Présentations similaires
Eléments d'algèbre linéaire
Advertisements

Les matrices.
Quest-ce que léducation du patient ? Chap. 1 – Q1.2 – Séq. 3 : Jeu de la matrice.
LA RECIPROQUE DE THALES
Unité #1 Analyse numérique matricielle Giansalvo EXIN Cirrincione.
Éléments de Calcul Tensoriel
Le langage ASP Les tableaux (Arrays).
Rappel... Sous-espaces de Rn: Définition;
ASI 3 Méthodes numériques pour l’ingénieur
La fonction alloue un bloc de taille size. Il faut indiquer la taille du bloc que lon veut allouer. Le premier exemple: #include void main()
Rappel... Opérations élémentaires sur les matrices:
1 Les pointeurs et quelques rappels sur certains éléments du langage C.
Structures de données IFT-2000
LES NOMBRES PREMIERS ET COMPOSÉS
Structures de données IFT Abder Alikacem La classe vector Édition Septembre 2009 Département dinformatique et de génie logiciel.
IFT-2000: Structures de données Les graphes Dominic Genest, 2009.
Examen partiel #3 Mercredi le 15 décembre de 15h30 à 17h20
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Structures de données IFT Abder Alikacem Espace de nommage Département d’informatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Espace de nommage Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Structures de données IFT-2000
Structures de données IFT-2000
Structures de données IFT-2000
Structures de données IFT-2000
Modèles d’implantation
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
1 Test : Hiver 2001 graphe graphe addArc (int S1,int S2, graphe g); Bool arcExiste (int S1, int S2, graphe g); graphe gCopy(graphe g); graphe sousGraph(graphe.
Structures de données IFT Abder Alikacem Gestion des exceptions Département dinformatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-10541
Structures de données IFT-2000
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Sous-séquence de somme maximale (Algo#4). Algorithme retour arrière. Département dinformatique et de génie.
Structures de données IFT-10541
Structures de données IFT-2000
IFT Structures de données
Les dominos Peut-on aligner tous les dominos d’un jeu ?
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
6.1 LE LANGAGE MATRICIEL Cours 16. Aujourdhui, nous allons voir La définition dune matrice Plusieurs définitions de matrice particulière La somme de matrices.
Les définitions: Les nombres premiers et les nombres composés
Efficacité des algorithmes
Structures de données IFT-2000
IFT Structures de données Abder Alikacem Département dinformatique et de génie logiciel.
Structures de données IFT-10541
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT Abder Alikacem Gestion des exceptions Module 2 Département dinformatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem L’héritage en C++ Département d’informatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Arbres de recouvrement minimum Département dinformatique et de génie logiciel Édition Septembre 2009 JFK.
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-10541
Analyse d’algorithmes
Structures de données IFT-10541
Structures de données IFT-2000
Structures de données IFT-2000
Structures de données IFT Abder Alikacem Semaine 2 Tests sur les pointeurs Département d’informatique et de génie logiciel Édition Janvier 2009.
Stocker plusieurs valeurs de même type dans une variable
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
Cours de mathématiques économiques
Tolérance de parallélisme
La fonction alloue un bloc de taille size. Il faut indiquer la taille du bloc que l’on veut allouer. Le premier exemple: #include void main()
8PRO100 Éléments de programmation Les tableaux multi-dimensionnels.
8PRO107 Éléments de programmation Les tableaux multidimensionnels.
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Laboratoire #1 Département d’informatique et de génie logiciel Édition Septembre 2009.
Transcription de la présentation:

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

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

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

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<MAX_LIGNES; i++) { for (j=0; j<MAX_COLONNES; j++) set(tab, k++, i, j); } for (i=0; i<MAX_LIGNES; i++) { for (j=0; j<MAX_COLONNES; j++) { printf("%d ", get(tab, i, j)); } printf("\n"); } free(tab); return 0; } void set (int *tab, int x, int i, int j) { tab[MAX_COLONNES*i + j] = x; } int get(int *tab, int i, int j) { return tab[MAX_COLONNES*i + j]; }

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<MAX_LIGNES; i++) { for (j=0; j<=i; j++) set(tab, k++, i, j); } for (i=0; i<MAX_LIGNES; i++) { for (j=0; j<=i; j++) { printf("%d ", get(tab, i, j) ); } printf("\n"); } free(tab); return 0; } void set (int *tab, int x, int i, int j) { tab[i*(i+1)/2 + j] = x; } int get(int *tab, int i, int j) { return tab[i*(i+1)/2 + j]; }

#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;

#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<MAX_LIGNES; i++) {for (j=0; j<MAX_COLONNES; j++) set(tab, k++, i, j, &err); } for (i=0; i<MAX_LIGNES; i++) {for (j=0; j<MAX_COLONNES; j++) { printf("%d ", get(tab, i, j, &err)); } printf("\n"); } tab= destroyTabInt(tab, &err); return 0; }