[PDF] [PDF] Parcours de graphes Parcours en profondeur (Depth-First





Previous PDF Next PDF



Algorithmique des graphes - Cours 3 – Parcours en largeur

Algorithme 1 : Parcours en largeur BFS(Gs). Données : graphe G



Parcours de graphes

Un parcours en largeur (BFS) d'un graphe G. Visite tous les sommets et toutes les arêtes de G. Détermine si G est connexe ou non.



Chapitre 2. Parcours de graphes

Algorithme 3 : PARCOURSLARGEURARBRE(A). Entrées : un arbre enraciné A. Sortie : la liste des sommets de l'arbre ordonné selon un parcours en largeur à partir de 



Parcours dun graphe

Apr 1 2013 Parcours en largeur : principe de l'algorithme. Vous devez parcourir toutes les pages d'un site web. Les pages sont les sommets d'un graphe ...



Parcours en largeur (BFS)

chemin dans un graphe non valué. 33. 33. 34. Parcours en largeur (BFS). • Pour programmer l'algorithme on utilise une structure de file:.



Chapitre 3 : Exploration dun graphe - Algorithmique de graphes

1 Exploration d'un graphe / Parcours. 2 Parcours en largeur (BFS). Partition des sommets en couches. Principe de l'algorithme. Implémentation. Complexité.



Plus court chemin dans un graphe

Dans un parcours en largeur on visite d'abord le sommet origine



Parcours de graphes

Mar 28 2011 Parcours en largeur (BFS). Données: Un graphe G = (V



Parcours de graphes

Nous allons étudier le parcours en largeur en profondeur d'un graphe



Parcours de graphes

Un parcours en largeur (BFS) d'un graphe G. Visite tous les sommets et toutes les arêtes de G. Détermine si G est connexe ou non.



[PDF] Algorithmique des graphes - Cours 3 – Parcours en largeur - LaBRI

Parcours en largeur ou BFS (Breadth First Search) Un parcours en largeur explore le graphe à partir d'un sommet donné (sommet de départ ou sommet source)



[PDF] Parcours de graphes - lycee rotrou dreux

Nous allons étudier le parcours en largeur en profondeur d'un graphe rechercher un cycle ou un certain chemin Quelques définitions :



[PDF] Parcours de graphes - IGM

Les deux types de parcours principaux pour les graphes sont les parcours en profondeur et en largeur Ce cha- pitre couvre les algorithmes correspondants ainsi 



[PDF] Parcours de graphes

Parcours en profondeur (Depth-First Search) Un parcours en profondeur (DFS) d'un graphe G Visite tous les sommets et toutes les arêtes de G



[PDF] Parcours de graphes - Université de Montréal

Un parcours en profondeur (DFS) d'un graphe G Visite tous les sommets et toutes les arêtes de G Détermine si G est connexe ou non



[PDF] Quelques rappels sur la théorie des graphes - CNRS

le parcours en largeur consiste à explorer les sommets du graphe niveau par niveau à partir d'un sommet donné ; le parcours en profondeur consiste 



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

Dans ce chapitre nous étudions les deux principales stratégies d'exploration : — le parcours en largeur qui consiste à explorer les sommets du graphe niveau 



[PDF] Parcours dun graphe

Parcours en largeur : principe de l'algorithme Vous devez parcourir toutes les pages d'un site web Les pages sont les sommets d'un graphe et un lien entre 



[PDF] Algorithmique Cours 7 : Parcours de graphes ROB3

Points de régénération : {13812} Le graphe partiel des arcs rouges est une forêt F(L) sous-jacente du parcours L Page 9 Parcours en largeur Parcours en 



[PDF] Parcours de graphes

sommets du graphe Il y a deux stratégies de parcours différentes : partant d'un sommet le graphe est parcouru ? en largeur ? en profondeur

  • Comment parcourir un graphe en largeur ?

    L'algorithme de parcours en largeur (ou BFS, pour Breadth-First Search en anglais) permet le parcours d'un graphe ou d'un arbre de la manière suivante : on commence par explorer un nœud source, puis ses successeurs, puis les successeurs non explorés des successeurs, etc.
  • Comment parcourir un arbre en largeur ?

    Le parcours en largeur consiste à parcourir l'arbre niveau par niveau. Les nœuds de niveau 0 sont sont d'abord parcourus puis les nœuds de niveau 1 et ainsi de suite. Dans chaque niveau, les nœuds sont parcourus de la gauche vers la droite.
  • Comment déterminer la taille d'un graphe ?

    La taille d'un graphe est E, son nombre d'arêtes. Le degré ou la valence d'un sommet est le nombre d'arêtes incidentes à ce sommet, où une boucle compte double. Dans un graphe simple non orienté d'ordre n, le degré maximum d'un sommet est n ? 1 et la taille maximale du graphe est n(n ? 1)/2.
  • Une boucle est une arête qui relie un nœud à lui même. Un lien double caractérise l'existence de plusieurs arêtes entre deux nœuds donnés.

Parcours de graphes

IFT2015, A2009, Sylvie Hamel

Université de Montréal

1

Parcours

Un sous-graphe S d'un graphe G est un graphe tel que: Les sommets de S forment un sous-ensemble des sommets de G

Quelques définitions

Les arêtes de S forment un sous-ensemble des arêtes de GUn sous-graphe est dit couvrant (spanning) s'il contient tous les sommets de

G

2Un graphe G est dit connexe s'il existe un

chemin reliant chaque pair de sommets de G

Une composante connexe d'un graphe G

est un sous-graphe connexe maximal de G

Parcours

Quelques définitions (suite)

© Goodrich et Tamassia 2004© Goodrich et Tamassia 2004

IFT2015, A2009, Sylvie Hamel

Université de Montréal

3

Parcours

Un arbre A (non raciné) est un graphe non

orienté tel que

Une forêt est un graphe non orienté ne

contenant pas de cycles

Quelques définitions (suite)

A est connexeA ne contient pas de cycles

© Goodrich et Tamassia 2004© Goodrich et Tamassia 2004

Les composantes connexes d'une forêt sont

donc des arbres

IFT2015, A2009, Sylvie Hamel

Université de Montréal

4

Parcours

Un arbre couvrant pour un graphe connexe

G est un sous-graphe couvrant qui est un

arbre

Une forêt couvrante pour un graphe G est

un sous-graphe couvrant qui est une forêt

Quelques définitions (suite)

Un arbre couvrant pour un graphe G n'est

pas unique sauf si G est une arbre

© Goodrich et Tamassia 2004

IFT2015, A2009, Sylvie Hamel

Université de Montréal

5

Parcours

Parcours en profondeur (Depth-First Search)

Un parcours en profondeur (DFS) d'un graphe G

Visite tous les sommets et toutes les arêtes de GDétermine si G est connexe ou nonCalcule les composantes connexes de GCalcule une forêt couvrante pour G

L'algorithme de parcours en profondeur (DFS) d'un graphe G prend un temps O(n+m) L'algorithme de parcours en profondeur peut être étendu pour résoudre d'autres problèmes sur les graphes: Trouver un chemin entre 2 sommetsTrouver un cycle dans un graphe

IFT2015, A2009, Sylvie Hamel

Université de Montréal

6

Parcours

Exemple:

© adapté de Goodrich et Tamassia 2004

ABCDE A

Sommets non explorésSommets visitésArêtes non exploréesArêtes sélectionnéesArêtes de retour

BDCEA

IFT2015, A2009, Sylvie Hamel

Université de Montréal

7

Parcours

Propriétés du parcours en profondeur:

ABCDEABDCE

Propriété 1: DFS(G,s) visite tous les

sommets et les arêtes de la composante connexe de s Propriété 2: Les arêtes sélectionnées lors du parcours DFS(G,s) forme un arbre couvrant pour la composant connexe de s

IFT2015, A2009, Sylvie Hamel

Université de Montréal

8

Parcours

Complexité en temps du parcours en profondeur:

Étiquetter ou "lire" l'étiquette d'un sommet ou d'une arête une fois "non exploré" O(1)

Chaque sommet est étiquetté deux fois

une fois "visité"une fois "non explorée"

Chaque arête est étiquettée deux fois

une fois "sélectionnée" ou "de retour" O(n) O(m) L'opération Incidents(u) est appelée une fois pour chaque sommet u Si notre graphe est représenté par une liste d'adjacences, la complexité en temps de l'algorithme DFS est

O(m+n)

IFT2015, A2009, Sylvie Hamel

Université de Montréal

9

Parcours

Algorithme de recherche de chemins

Algorithme cheminDFS(G, v, z)

setÉtiquette(v, VISITÉ)

P.empiler(v)

si v = z retourner P.éléments()

Pour tout e ∈ G.incidents(v)

si étiquette(e) = NON EXPLORÉE w ← opposé(v,e) si étiquette(w) = NON EXPLORÉ setÉtiquette(e, SÉLECTIONNÉE)

P.empiler(e)

cheminDFS(G, w, z)

P.dépiler()

sinon setÉtiquette(e, DE RETOUR)

P.dépiler()

On peut étendre l'algorithme DFS

en un algorithme pour trouver un chemin entre 2 sommets donnés u et z

L'idée est d'appeler DFS(G,u), sur

u le premier sommet

On utilise une pile P qui garde en

mémoire un chemin entre le sommet de départ et le sommet courant

Quand le sommet final z est atteint

on retourne le contenu de la pile qui contient le chemin cherché

IFT2015, A2009, Sylvie Hamel

Université de Montréal

10

Parcours

Algorithme de recherche de cycles

On peut étendre l'algorithme DFS

en un algorithme pour trouver un cycle dans un graphe (s'il en existe un)

On utilise une pile P qui garde en

mémoire un chemin entre le sommet de départ v et le sommet courant

Si on trouve une arête de retour vers

v, on retourne le cycle trouvé qui est contenu dans la pile

Algorithm cycleDFS(G, v, z)

setÉtiquette(v, VISITÉ)

P.empiler(v)

Pour tout e ∈ G.incidents(v)

si Étiquette(e) = NON EXPLORÉE w ← opposé(v,e)

P.empiler(e)

si Étiquette(w) = NON EXPLORÉ setÉtiquette(e, SÉLECTIONNÉE) cheminDFS(G, w, z)

P.dépiler()

sinon

T ← nouvelle pile vide

répéter o ← P.dépiler()

T.empiler(o)

tant que o = w retourner T.éléments()

P.dépiler()

IFT2015, A2009, Sylvie Hamel

Université de Montréal

11

Parcours

Parcours en largeur (Breadth-First Search)

Un parcours en largeur (BFS) d'un graphe G

Visite tous les sommets et toutes les arêtes de GDétermine si G est connexe ou nonCalcule les composantes connexes de GCalcule une forêt couvrante pour G

L'algorithme de parcours en largeur (BFS) d'un graphe G prend un temps O(n+m) L'algorithme de parcours en largeur peut être étendu pour résoudre d'autres problèmes sur les graphes: Trouver le plus court chemin entre 2 sommets Trouver un cycle simple dans un graphe

IFT2015, A2009, Sylvie Hamel

Université de Montréal

12

Parcours

Exemple:

A

Sommets non explorésSommets visitésArêtes non exploréesArêtes sélectionnéesArêtes de traverse

E A C F DB AE

© adapté de Goodrich et Tamassia 2004

L 0 BL 1 L 2 CDF

IFT2015, A2009, Sylvie Hamel

Université de Montréal

13

Parcours

Propriétés du parcours en largeur:

Propriété 1: BFS(G,s) visite tous les sommets et les arêtes de la composante connexe de s Propriété 2: Les arêtes sélectionnées lors du parcours DFS(G,s) forme un arbre couvrant pour la composant connexe de s E A C F DB AEL 0quotesdbs_dbs44.pdfusesText_44
[PDF] fiche revision decolonisation

[PDF] parcours en profondeur d'un graphe en c

[PDF] théorie des graphes python

[PDF] parcours en largeur graphe

[PDF] parcours en profondeur itératif

[PDF] algorithme parcours en profondeur python

[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