Parcours dun graphe
1. 4. 2013 Exemple de codage : utilisation d'un dictionnaire python. Python. G=dict() ... Parcours en profondeur : principe de l'algorithme.
6.3.1 Parcours en profondeur itératif 6.3.2 Parcours en profondeur
Université Paris Diderot – LI0436 – 08/09. Ch6. Les arbres. 6.3.1 Parcours en profondeur itératif procedure Parcours(A); var X : sommet ;.
Algo Prog Objet Python
Parcours en profondeur d'abord (depth first). – Préfixé. – Infixé On peut éviter d'utiliser un algorithme récursif pour représenter un parcours en ...
Quelques rappels sur la théorie des graphes
Algorithme 4 : parcours en profondeur récursif (DFSrec)(S A
Parcours darbres ?
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.
Théorie des graphes et optimisation dans les graphes Table des
Algorithme de parcours en profondeur des sommets accessibles depuis s0 DFS(S A
TP Python: le retour de Ford-Fulkerson
L'algorithme de Ford-Fulkerson consiste à partir du flot nul et à effectuer des parcours en profondeur sur le graphe des résidus (défini plus tard) pour tenter
Parcours dun arbre binaire
2 Algorithmes récursifs. Pour chacun des parcours définis ci-dessus (postfixe infixe
Arbres et récursivité
1. 7. 2020 Algorithme récursif La manière la plus simple de faire un parcours en profondeur est d'utiliser la récursion.
Corrigé - Percolation
proposé correspond à un parcours en profondeur du graphe (cet algorithme est étudié en détail en option informatique de seconde année).
[PDF] Parcours dun graphe
Parcours en profondeur Jean-Manuel Mény – IREM de LYON () Algorithmique ISN 2013 47 / 97 Page 66 Parcours en profondeur : principe de l'algorithme Vous
[PDF] Arbres et graphes - Algo Prog Objet Python
Parcours en profondeur d'abord (depth first) – Préfixé – Infixé On peut éviter d'utiliser un algorithme récursif pour représenter un parcours en
[PDF] 1 Parcours en profondeur 2 Tri topologique
Question 1 Appliquer l'algorithme à un graphe non connexe (tel qu'il existe deux sommets non reliés par un chemin) à partir de différents sommets pour
[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
[PDF] Graphes en Python - Jules Svartz
Algorithme 2 : Parcours en profondeur complet du graphe Entrée : Un graphe G donné par liste d'adjacence deja_vu[v] ? Faux pour tout sommet v;
[PDF] Parcours en profondeur dun graphe - DFS La méthode - ISN
On peut utiliser un algorithme récursif pour parcourir un graphe en profondeur En voici la description : 1 On part d'un nœud du graphe 2 On le marque comme
[PDF] Première partie : Algorithmique avancée pour les graphes - CNRS
Une façon naïve de déterminer les différentes SCC d'un graphe consiste à faire un parcours (en largeur ou en profondeur) à partir de chacun des sommets du
[PDF] Algorithmique et programmation à destination des étudiants dIMSD
1 août 2019 · Ce document contient en annexe un aide-mémoire sur les notations algorithmiques et Python sur les prérequis du cours 1 4 Quelques références L
[PDF] Algorithmes illustrés
triée et comment cet algorithme serait implémenté en langage Python au cours de disputes des défis mathématiques et étudiait en profondeur les
[PDF] Parcours de graphes et applications - ZoneNSI
Le parcours en profondeur d'un graphe (Depth First Search en anglais) c'est-à-dire un parcours où on explore chaque chemin jusqu'à son extrémité nale
Graphes en Python
Jules Svartz
Lycée Masséna
1/22Historique
Applications :
graphe du web (plus de 8 milliards d"URL valides) graphes des réseaux sociaux, ex : Facebook?2.91 milliards d"utilisateurs.graphe des routes en France (35000 communes françaises, nombrede routes?)vols en avion dans le monde (?100000 vols commerciaux par jour)réseaux de distribution eau/électricité...
etc... 2/22Historique
Applications :
graphe du web (plus de 8 milliards d"URL valides) graphes des réseaux sociaux, ex : Facebook?2.91 milliards d"utilisateurs.graphe des routes en France (35000 communes françaises, nombrede routes?)vols en avion dans le monde (?100000 vols commerciaux par jour)réseaux de distribution eau/électricité...
etc... 2/22Historique
Applications :
graphe du web (plus de 8 milliards d"URL valides) graphes des réseaux sociaux, ex : Facebook?2.91 milliards d"utilisateurs.graphe des routes en France (35000 communes françaises, nombrede routes?)vols en avion dans le monde (?100000 vols commerciaux par jour)réseaux de distribution eau/électricité...
etc... 2/22Historique
Applications :
graphe du web (plus de 8 milliards d"URL valides) graphes des réseaux sociaux, ex : Facebook?2.91 milliards d"utilisateurs.graphe des routes en France (35000 communes françaises, nombrede routes?)vols en avion dans le monde (?100000 vols commerciaux par jour)réseaux de distribution eau/électricité...
etc... 2/22Historique
Applications :
graphe du web (plus de 8 milliards d"URL valides) graphes des réseaux sociaux, ex : Facebook?2.91 milliards d"utilisateurs.graphe des routes en France (35000 communes françaises, nombrede routes?)vols en avion dans le monde (?100000 vols commerciaux par jour)réseaux de distribution eau/électricité...
etc... 2/22Historique
Applications :
graphe du web (plus de 8 milliards d"URL valides) graphes des réseaux sociaux, ex : Facebook?2.91 milliards d"utilisateurs.graphe des routes en France (35000 communes françaises, nombrede routes?)vols en avion dans le monde (?100000 vols commerciaux par jour)réseaux de distribution eau/électricité...
etc... 2/22Vocabulaire : graphes non orientés
0 54321678
9Graphe non orienté : couple
G= (V,E):noeuds(ou
sommets),arêtesboucle,multi-arêtesommetsvoisins, arête incidente,degréd"un sommet.chemin,cycle.connexité,composante connexe.arbre. 3/22Exemple de graphes non orientés
0 54321CycleC60
54321CliqueK6
4/22Vocabulaire : graphes orientés
012 345Graphe orienté : couple
G= (V,E):noeuds(ou
sommets),arcsdegré entrant,degré sortantcircuit.composante fortement connexe. 5/22Implémentation
012 3 45Repr. creuse : listes d"adjacence (dictionnaire ok) G = [[5, 1], [2, 5], [3], [0, 4], [2, 1], [0, 4]]Repr. dense : matrice d"adjacence. M=( ((((((0 1 0 0 0 1
0 0 1 0 0 1
0 0 0 1 1 0
1 0 0 0 1 0
0 1 1 0 0 0
1 0 0 0 1 0)
))))))M=[[0, 1, 0, 0, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 0, 1, 1, 0], [1, 0, 0, 0, 1, 0], [0, 1, 1, 0, 0, 0], [1, 0, 0, 0, 1, 0]]Graphe non orienté : arête{x,y}!arcsx→yety→x.6/22Implémentation
012 3 45Repr. creuse : listes d"adjacence (dictionnaire ok) G = [[5, 1], [2, 5], [3], [0, 4], [2, 1], [0, 4]]Repr. dense : matrice d"adjacence. M=( ((((((0 1 0 0 0 1
0 0 1 0 0 1
0 0 0 1 1 0
1 0 0 0 1 0
0 1 1 0 0 0
1 0 0 0 1 0)
))))))M=[[0, 1, 0, 0, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 0, 1, 1, 0], [1, 0, 0, 0, 1, 0], [0, 1, 1, 0, 0, 0], [1, 0, 0, 0, 1, 0]]Graphe non orienté : arête{x,y}!arcsx→yety→x.6/22Implémentation
012 3 45Repr. creuse : listes d"adjacence (dictionnaire ok) G = [[5, 1], [2, 5], [3], [0, 4], [2, 1], [0, 4]]Repr. dense : matrice d"adjacence. M=( ((((((0 1 0 0 0 1
0 0 1 0 0 1
0 0 0 1 1 0
1 0 0 0 1 0
0 1 1 0 0 0
1 0 0 0 1 0)
))))))M=[[0, 1, 0, 0, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 0, 1, 1, 0], [1, 0, 0, 0, 1, 0], [0, 1, 1, 0, 0, 0], [1, 0, 0, 0, 1, 0]]Graphe non orienté : arête{x,y}!arcsx→yety→x.6/22Implémentation
012 3 45Repr. creuse : listes d"adjacence (dictionnaire ok) G = [[5, 1], [2, 5], [3], [0, 4], [2, 1], [0, 4]]Repr. dense : matrice d"adjacence. M=( ((((((0 1 0 0 0 1
0 0 1 0 0 1
0 0 0 1 1 0
1 0 0 0 1 0
0 1 1 0 0 0
1 0 0 0 1 0)
))))))M=[[0, 1, 0, 0, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 0, 1, 1, 0], [1, 0, 0, 0, 1, 0], [0, 1, 1, 0, 0, 0], [1, 0, 0, 0, 1, 0]]Graphe non orienté : arête{x,y}!arcsx→yety→x.6/22Intermède : structure de pile
Pile : principeLIFObase de la pile.........sommet : le seul élément accessibleOpérations :
Création d"une pile vide;
Test si une pile est vide;
Rajout d"un élément au sommet d"une pile;
Accès au sommet d"une pile non vide;
Suppression (et renvoi) du sommet d"une pile non vide. 7/22Intermède : structure de pile
Pile : principeLIFObase de la pile.........sommet : le seul élément accessibleOpérations :
Création d"une pile vide;
Test si une pile est vide;
Rajout d"un élément au sommet d"une pile;
Accès au sommet d"une pile non vide;
Suppression (et renvoi) du sommet d"une pile non vide. 7/22Structure de pile en Python
liste classique viaappend,popet accès au dernier élément. >>> P=[] >>> P.append(3) >>> P.append(5) >>> P.pop() 5 >>> P[-1] 3 >>> P==[]FalseModuledeque(voir la suite).
8/22Intermède : structure de file
File : principeFIFO
Opérations :Création d"une file vide;
Test si une file est vide;
Rajout d"un élément dans la file;
Suppression (et renvoi) du premier élément inséré dans la file. 9/22Structure de file en Python
liste classique viaappend,pop(0)? >>> F=[] >>> F.append(6) >>> F.append(4) >>> F.pop(0) 6 >>> F.pop(0) 4 >>> F==[] True Mauvais en complexité!Utilisation de deux listes (deux piles!)Moduledeque.
10/22 Structure de pile et de file en Python : module deque >>> from collections import deque # importation >>> f = deque() # une file à deux bouts vide >>> for i in range(5): f.append(i) #ajout à droite >>> f deque([0, 1, 2, 3, 4]) >>> f.pop() #suppression à droite 4 >>> f.appendleft(5) ; f #ajout à gauche deque([5, 0, 1, 2, 3]) >>> f.popleft() #suppression à gauche 5 >>> f deque([0, 1, 2, 3]) >>> len(f)4pile viaappendetpop(ouappendleftetpopleft)file viaappendetpopleft(ouappendleftetpop)
11/22Parcours de graphe
Algorithme 1 :Parcours générique de grapheEntrée :Un grapheGdonné par listes d"adjacence, un sommet de
départs0 a_traiter← {s0};B←[Faux,...,Faux];
B[s0]←Vrai;
tant quea_traiterest non videfaires←sortir un élément dea_traiter; pourtout voisin s?de s tel queB[s?]estFauxfairea_traiter←a_traiter? {s?};B[s?]←VraiQuestions :
Terminaison?
Sommets atteints?
Complexité?
Applications?
12/22Parcours de graphe
Algorithme 1 :Parcours générique de grapheEntrée :Un grapheGdonné par listes d"adjacence, un sommet de
départs0 a_traiter← {s0};B←[Faux,...,Faux];
B[s0]←Vrai;
tant quea_traiterest non videfaires←sortir un élément dea_traiter; pourtout voisin s?de s tel queB[s?]estFauxfairea_traiter←a_traiter? {s?};B[s?]←VraiQuestions :
Terminaison?
Sommets atteints?
Complexité?
Applications?
12/22Parcours de graphe
Algorithme 1 :Parcours générique de grapheEntrée :Un grapheGdonné par listes d"adjacence, un sommet de
départs0 a_traiter← {s0};B←[Faux,...,Faux];
B[s0]←Vrai;
tant quea_traiterest non videfaires←sortir un élément dea_traiter; pourtout voisin s?de s tel queB[s?]estFauxfairea_traiter←a_traiter? {s?};B[s?]←VraiQuestions :
Terminaison?
Sommets atteints?
Complexité?
Applications?
12/22Parcours de graphe
Algorithme 1 :Parcours générique de grapheEntrée :Un grapheGdonné par listes d"adjacence, un sommet de
départs0 a_traiter← {s0};B←[Faux,...,Faux];
B[s0]←Vrai;
tant quea_traiterest non videfaires←sortir un élément dea_traiter; pourtout voisin s?de s tel queB[s?]estFauxfairea_traiter←a_traiter? {s?};B[s?]←VraiQuestions :
Terminaison?
Sommets atteints?
Complexité?
Applications?
12/22Parcours de graphe
Algorithme 1 :Parcours générique de grapheEntrée :Un grapheGdonné par listes d"adjacence, un sommet de
départs0 a_traiter← {s0};B←[Faux,...,Faux];
B[s0]←Vrai;
tant quea_traiterest non videfaires←sortir un élément dea_traiter; pourtout voisin s?de s tel queB[s?]estFauxfairea_traiter←a_traiter? {s?};B[s?]←VraiQuestions :
Terminaison?
Sommets atteints?
Complexité?
Applications?
12/22Parcours en largeur
Utilisation d"une file poura_traiter.Calcul des distances depuiss0.Rajouterpredpour des calculs de plus courts chemins.Exemple :
45670123
13/22Parcours en largeur
Utilisation d"une file poura_traiter.Calcul des distances depuiss0.Rajouterpredpour des calculs de plus courts chemins.Exemple :
45670123
13/22Parcours en profondeur (complet)
Discussion pile / récursivité
Mutualisation liste de booléens
Algorithme 2 :Parcours en profondeur complet du grapheEntrée :Un grapheGdonné par liste d"adjacence
deja_vu[v]←Fauxpour tout sommetv;Fonctionpp(u):deja_vu[u]←Vrai;
pourtout voisin v de ufairesideja_vu[v] =Fauxalorspp(v) pourtout sommet u du graphefairesideja_vu[u] =Fauxalorspp(u) 14/22Application du parcours en profondeur
Calcul des composantes connexes (code).
Existence d"un circuit dans un graphe orienté : trois couleurs blanc / gris / noir ;compilation de programmeExistence d"un cycle dans un graphe non orienté :attention u→v etv→u;supprimer des arêtes pour garder un graphe connexe?Tri topologique d"un graphe orienté sans circuit
;compilation de programme.Calcul des composantes fortement connexes d"un graphe orienté. 15/22Graphes pondérés
quotesdbs_dbs16.pdfusesText_22[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