[PDF] [PDF] TP no 01 - page du TP

utiliser python comme outil pour l'enseignement Un peu de programmation parcours en largeur et de parcours en profondeur Éventuellement Modifiez votre code afin d'avoir une seule implantation de l'algorithme Cette implantation



Previous PDF Next PDF





[PDF] Parcours dun graphe

1 avr 2013 · Exemple de codage : utilisation d'un dictionnaire python Python G=dict() Parcours en profondeur : principe de l'algorithme Vous devez 



[PDF] Python : Graphes - imagecomputingnet

parcours (graphe, voisin, visite) point initial visite=set () parcours (G, "E", visite) Algorithme: parcours en profondeur visiter (noeud): Pour tous mes voisins v



[PDF] Algorithmique - p-fbnet

Bonnefoi, http://ishtar msi unilim fr/, « Arbre Graphe en Python » version du 1er septembre 2011, rédigé avec Parcours récursif en profondeur d'abord



[PDF] Arbre : Parcours - Algo Prog Objet Python

23 Profondeur d'abord itérative • On peut éviter d'utiliser un algorithme récursif pour représenter un parcours en profondeur d'abord • Il faut utiliser une pile



[PDF] Chapitre 3 : Exploration dun graphe - Algorithmique de - LIPN

Principe de l'algorithme Implémentation Complexité Application : tester si un graphe est biparti 3 Parcours en profondeur (DFS) Prolongement d'une chaˆıne  



[PDF] TP no 01 - page du TP

utiliser python comme outil pour l'enseignement Un peu de programmation parcours en largeur et de parcours en profondeur Éventuellement Modifiez votre code afin d'avoir une seule implantation de l'algorithme Cette implantation



[PDF] Algorithmes pour les graphes

24 nov 2016 · Donner les algorithmes de parcours en largeur et en profondeur 2 Programmer l'algorithme de Bellman-Ford en utilisant python et igraph



[PDF] Graphes (Graphs) Implémentations et parcours 1 Représentations

4 nov 2017 · Écrire une fonction qui construit deux vecteurs (listes en Python) in et out Donner le principe de l'algorithme récursif du parcours profondeur



[PDF] Première partie : Algorithmique avancée pour les graphes - CNRS

Lors du parcours en profondeur d'un graphe avec l'algorithme 5, si un successeur sj du sommet s0 est déjà gris, cela implique qu'il existe un chemin permettant d' 



[PDF] Des algorithmes dans les graphes - IRIF

Parcours en profondeur Algorithme important A la base des algorithmes de recherche des composantes fortement connexes (par ex algorithme de Tarjan) et 

[PDF] parcours en largeur graphe java

[PDF] conflit de puissance définition

[PDF] parcours lecture acces pas cher

[PDF] parcours lecture pdf

[PDF] parcours lecture le petit chaperon rouge

[PDF] parcours lecture acces avis

[PDF] parcours lecture occasion

[PDF] coexistence pacifique cours

[PDF] archives militaire en ligne

[PDF] livret militaire en ligne

[PDF] la coexistence pacifique de 1953 ? 1962 pdf

[PDF] cornière catnic

[PDF] corniere galva pour brique

[PDF] corniere pour linteau brique

[PDF] cornière support briques

Master Mathématiques Informatique 2, p.1

TP no 01

Les buts de ce premier TP sont les suivants :

reprendre à programmer en python, de fa çonque v otrec hargéde TP puisse év aluerv otreniv eauxa vecce l angage, utiliser pythoncomme outil pour l"enseignement.

Un peu de programmation

Récupérez, depuis votre solution du TP 4 du cours Informatique 1, votre codepythondes algorithmes de

parcours en largeur et de parcours en profondeur. Éventuellement, implémentez à nouveau ces algorithmes,

en utilisant le code vu en cours et disponivle sur le site du cours.

Exercice 1.Modifiez votre code afin d"avoir une seule implantation de l"algorithme. Cette implantation

sera paramétrée de façon à s"exécuter en tant que parcours en largeur ou en profondeur, selon une variable

booléenne que l"on passera comme argument optionnel de la procédure. Exercice 2.Ajoutez à votre implantation des algorithmes un paramètre optionnelroot.

Sirootn"est pasNone, alors l"algorithme explorera seulement la partie du graphe atteignable depuis le

sommetrootpassé en paramétré. Autrement, l"algorithme explorera le graphe en entier. Exercice 3.Réutilisez le code écrit jusqu"à maintenant afin de :

Définir un efonction q uiprend en input un graphe et deux sommets, et retourne la distance en treces

deux sommets,

Définir une fonction qui teste si un graphe pas séen paramètre est acyclique. NB : si un graphe ne

contient pas de cycles, alors est un foret. Le foret recouvrent retournée est donc le graphe lui même.

Donc il faudra vérifier à chaque fois que l"ensemble de voisins d"un sommet en cours de traitement

sont tous blancs sauf éventuellement un. De que cette condition n"est pas vérifiée, on s"arrête et on

retourneFalse.

Définir une fonction qui t estesi un graphe passé en paramètre est bipart i.NB : un gra pheest biparti

ssi il ne contient pas un cycle de longueur impair. Il faudra donc modifier la fonction précédente afin

de détecter les cycles de longueur impair.

Visualisation de graphes

L"environnementgraphvizpermet d"obtenir de visualisation de graphes sans se soucier de la disposition

exacte des noeuds. Le langagedotest le langage de représentation de graphes utilisé pargraphviz.

Exercice 4.Écrivez une fonction qui prend en paramètre un graphe (décrit par listes d"adjacences) et produit

la représentation du graphe dans le langagedot. Par exemple, pour un graphe dont la représentation par

liste d"adjacences est 0 1 2 1 2 0 2 0 1 3 4 6 4 5 3 5 6 4 6 3 5 la représentation dans le langagedotest la suivante :

Master Mathématiques Informatique 2, p.2

graph {

0 -- 1

0 -- 2

1 -- 2

3 -- 4

3 -- 6

4 -- 5

5 -- 6

Exercice 5.Modifiez la fonction écrite dans l"exercice précèdent, de façon que l"on puisse aussi ajouter les

couleurs des sommets (blanc pour non découvert, gris pour en cours de traitement, noir pour traité) pendant

le parcours du graphe, et les arête de l"arbre recouvrent. Par exemple, à la quatrième itération de la boucle

sur le graphe précèdent, on pourra avoir le résultat suivant : graph {

0 [style=filled, fontcolor=white, fillcolor = black]

1 [style=filled, fontcolor=white, fillcolor = black]

2 [style=filled, fontcolor=white, fillcolor = black]

3 [style=filled, fillcolor = gray]

0 -- 1

0 -- 2

1 -- 2

3 -- 4

3 -- 6

4 -- 5

5 -- 6

1 -- 0 [constraint=false,color= red]

2 -- 0 [constraint=false,color= red]

Exercice 6.Écrivez une fonction qui prend en paramètre le graphe et le sauve sous formedotdans un

fichier.

Passez cette fonction en paramètre à la procédure de parcours de graphe, de façon à engendrer des fichiers

dans le langagedotreprésentant, étape par étape, l"état du graphe étant exploré.

Graphes orientés

Exercice 7.Écrivez une version récursive de l"algorithme de parcours en profondeur qui manient des dic-

tionnaires de temps de découverte et temps de fin de l"exploration d"un noeud.

Utilisez ce code pour définir une fonction qui détecte si un graphe orienté contient un circuit (cycle orienté).

Exercice 8.Écrivez une fonction qui prends en paramètre un graphe orienté, et, si ce graphe ne contient

pas de circuits, alors retourne un tri topologique du graphe.

Exercice 9.Utilisez les exercices précédents pour définir une fonction qui calcule les composantes fortement

connexes d"un graphe orienté passé en paramètre.quotesdbs_dbs16.pdfusesText_22