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.

Slides:



Advertisements
Présentations similaires
Tests et Validation du logiciel
Advertisements

Algorithmes et structures de données avancées Cours 7
Algorithmes et structures de données avancées Cours 6 Patrick Reuter

DECLARATION DE VARIABLES
BUT DE LALGORITHME Afficher la table de multiplication dune valeur saisie au clavier (valeur comprise entre 1 et 9). Gérer lerreur de saisie.
Les Algorithmes de tri.
Découverte automatique de mappings fondée sur les requêtes dans un environnement P2P Présenté Par: Lyes LIMAM Encadré Par: Mohand-Said Hacid.
UMLV 1 Problème G = (S, A) graphe (orienté) Calculer H = (S, B) où B est la clôture réflexive et transitive de A. Note : (s,t) B ssi il existe un chemin.
Bloc1 : Théorie des graphes et problèmes d’ordonnancement
Les circuits séquentiels
LES GRAPHES.
Chap. 1 INTRODUCTION Beaucoup de problèmes de la vie courante, tels la gestion de réseaux de communication ou l'ordonnancement de tâches, correspondent.
Tableaux Certains problèmes nécessitent beaucoup de variables du même type. Exemple : relevé de températures matin et soir dans 10 villes pour 10 jours.
Tests et Validation du logiciel
Nombre de chaînes de longueur r
Module 6 : Programmation dynamique
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
1)Boucle for 2)Boucle while
Les algorithmes: complexité et notation asymptotique
Programmation logique Démonstrateur automatique
Exemple (Chapitre 9) Étape suivante 
Les tris.
Master 1 SIGLIS java Lecteur Stéphane Tallard Chapitre 4 – Structures de contrôle.
Pr ZEGOUR Djamel Eddine
1 Exercice : longueur d’un mot est-elle paire ?  Test fonctionnel  Quel ensemble de valeur choisir / spécification  Test structurel  Soit le code d’un.
Examen intra #1 Types abstraits, liste, pile, file et file prioritaire. Les graphes Récursivité.
IFT-2000: Structures de données Les graphes Dominic Genest, 2009.
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
Quatrième étape : cheminer dans les graphes. Une chaîne… Quand elle nutilise pas plusieurs fois la même arête, la chaîne est dite simple. Au sens du programme,
Une nouvelle structure de données : les tableaux
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Programmer avec des Types Abstraits Peter Van Roy Département dIngénierie Informatique,

Recherche Opérationnelle
Parallel Programming with MPI and OpenMP Michael J. Quinn.
Calcul des groupes d'homologie d’objets discrets
Structures de données IFT Abder Alikacem Linéarisation des matrices Département dinformatique et de génie logiciel Édition septembre 2009.
Pour le chemin le plus court pour tous les couples
Exploration systématique de graphes
Que peut on dire des droites (IJ) et (AC) ? Pourquoi ?
Quel que soit le soin apporté à l'écriture de votre programme, il contiendra toujours quelques erreurs, ou bogues, qui l'empêcheront de fonctionner comme.
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
On cherche le plus court chemin de E à S sur le graphe suivant :
Chapitre 6 Les traitements avancés
Méthodes de tri.
Ceci est un graphe valué Des arcs : 1-2, 1-4, 7-10,…..
8PRO100 Éléments de programmation Les tableaux multi-dimensionnels.
(Lyon 96) 1) Construire un triangle IJK tel que :
Test.
Pour les boucles FOR on a fait intervenir la boucles TANT QUE équivalentes dont on connaît calculer le temps d’exécution. Toutes le procédures de comptage.
Algorithme de DIJKSTRA
ITI1520 Lab #9 - Matrices Adapté de versions antérieures créées par Romelia Plesa, Sylvia Boyd, Alan Williams, Diana Inkpen, Daniel Amyot, Gilbert Arbez,
Cours 5 - Trois algorithmes de tri d'un tableau
Structures de données IFT-2000
Projet Théorie des graphes
Construire un GANTT.
Chapitre 4 Equations différentielles ordinaires à n variables.
Test.
Test.
test
TEST.
Int 10. Int 6.
Quelle est la valeur de S après exécution des instructions suivantes :
Range les nombres du plus petit au plus grand.
Test test.
Transcription de la présentation:

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 g, int* tab,int nb); int nbSommets(graphe g);

2 Graphe addArc (Graphe g, int S1,int S2); Bool arcExiste (Graphe g, int S1, int S2); Graphe gCopy(Graphe g); Graphe sousGraph(Graphe g, int* tab,int nb); int nbSommets(Graphe g); Algorithme MATRICE_DES_CHEMINS (A) {ou algorithme de Warshall} {Soit A, la matrice des noeuds adjacents; cet algorithme détermine la matrice des chemins P.} 1. [Initialisation] P A 2.[Boucle des différents ordres] Pour k = 1, 2,..., n répéter jusqu'à l'étape 4. 3.[Boucle des rangées] Pour i = 1, 2,..., n répéter l'étape 4. 4.[Boucle des colonnes] Pour j = 1, 2,..., n répéter P ij P ij OU (P ik ET P kj ) 5.[Fin de l'algorithme] Stop Test : Hiver 2001

3 Graphe fermetureGraph(Graphe g); { Graphe tmp; BOOL b1,b2,b3; int i,j,k; int nb; nb= nbSommets(g); tmp=gCopy(g); for(k=1;k<=nb;k++) for(i=1;i<=nb;i++) for(j=1;j<=nb;j++) { b1=arcExiste(tmp, i,j); b2=arcExiste(tmp, i,k); b3=arcExiste(tmp, k,j); if((b2 && b3)&& !b1) tmp=addArc(tmp, i,j); } return tmp; } Algorithme MATRICE_DES_CHEMINS (A) 1. [Initialisation] P A 2.[Boucle des différents ordres] Pour k = 1, 2,..., n répéter jusqu'à l'étape 4. 3.[Boucle des rangées] Pour i = 1, 2,..., n répéter l'étape 4. 4.[Boucle des colonnes] Pour j = 1, 2,..., n répéter P ij P ij OU (P ik ET P kj ) 5.[Fin de l'algorithme] Stop Test : Hiver 2001

4 Graphe addArc (int S1,int S2); bool arcExiste (int S1, int S2); gCopy(const Graphe &); Graphe & sousGraph(int* tab, int nb); int nbSommets(); Exercice (tiré de lexamen dhiver 2001) int * listerSommets();

5 Algorithme MATRICE_DES_CHEMINS (A) {ou algorithme de Warshall} {Soit A, la matrice des noeuds adjacents} 1. [Initialisation] P A 2.[Boucle des différents ordres] Pour k = 1, 2,..., n répéter jusqu'à l'étape 4. 3.[Boucle des rangées] Pour i = 1, 2,..., n répéter l'étape 4. 4.[Boucle des colonnes] Pour j = 1, 2,..., n répéter P ij P ij OU (P ik ET P kj ) 5.[Fin de l'algorithme] Stop Exercice addArc (int S1,int S2); bool arcExiste (int S1, int S2); gCopy(const Graphe &); Graphe & sousGraph(int* tab, int nb); int nbSommets(); int * listerSommets();

6 Graphe & fermetureGraph(); { Graphe tmp; bool b1,b2,b3; int nb; int * tab; nb= nbSommets(g); tmp=gCopy(g); tab = listerSommets(tmp); for(int k=0;k<nb;k++) for(int i=0;i<nb;i++) for(int j=0;j<nb;j++) { b1=arcExiste(tmp, tab[i],tab[j]); b2=arcExiste(tmp, tab[i],tab[k]); b3=arcExiste(tmp, tab[k],tab[j]); if((b2 && b3)&& !b1) tmp=addArc(tmp, tab[i],tab[j]); } free(tab); return tmp; } Algorithme MATRICE_DES_CHEMINS (A) 1. [Initialisation] P A 2.[Boucle des différents ordres] Pour k = 1, 2,..., n répéter jusqu'à l'étape 4. 3.[Boucle des rangées] Pour i = 1, 2,..., n répéter l'étape 4. 4.[Boucle des colonnes] Pour j = 1, 2,..., n répéter P ij P ij OU (P ik ET P kj ) 5.[Fin de l'algorithme] Stop Corrigé