[PYTHON] In-Graph-Pfadsuche mit Networkx

Persönliche Anmerkung:

Diagramm erstellen

Es ist mühsam, jedes Mal zu schreiben. Erstellen Sie es daher in Form einer benachbarten Liste

import networkx as nx
g = nx.read_adjlist('/path/to/adjacencylist', create_using=nx.DiGraph())
print('nodes: ' + ', '.join(g.nodes()))

printZeigen Sie alle Knoten im Diagramm an, indem Sie eine Anweisung hinzufügen.

Suchen Sie nach der kürzesten Route

Wenn Sie Gewichte usw. hinzufügen, benötigen Sie diese separat. Der Einfachheit halber werden Gewichte hier jedoch nicht berücksichtigt.

nx.shortest_path(g, source="hoge", target="fuga")

Der Rückgabewert ist eine Liste mit Knoten

Aufzählung der Routen, die auf einem Knoten nur einmal besucht wurden

for path in nx.all_simple_paths(g, source='hoge", target="fuga"):
    print(path)

Es zeigt auch die Umleitungsroute an.

Recommended Posts

In-Graph-Pfadsuche mit Networkx
Suchen Sie Twitter mit Python
Suchalgorithmus mit word2vec [Python]
oslo.config Suchpfad für Konfigurationsdatei
Finden Sie den kritischen Pfad von PERT mithilfe der Breitenprioritätssuche und der Tiefenprioritätssuche
Einfache Rastersuchvorlage mit Scikit-learn
Erster OSMnx ~ Mit der kürzesten Routensuche ~
Suchen Sie mit COTOHA nach profitablen Marken
Automatische Erstellung eines Arbeitsplans mithilfe der Tabusuche
Versuchen Sie, Pythons networkx mit AtCoder zu verwenden
Suche nach Tiefenpriorität mit Stack in Python
Holen Sie sich den Dateipfad mit Pathlib