Python: How to find if a path exists between 2 nodes in a graph?

后端 未结 5 2245
野性不改
野性不改 2021-01-01 17:55

I am using networkx package of Python.

5条回答
  •  耶瑟儿~
    2021-01-01 18:20

    >>> import networkx as nx
    >>> G=nx.empty_graph()
    >>> G.add_edge(1,2)
    >>> G.add_edge(2,3)
    >>> G.add_edge(4,5)
    >>> nx.path.bidirectional_dijkstra(G,1,2)
    (1, [1, 2])
    >>> nx.path.bidirectional_dijkstra(G,1,3)
    (2, [1, 2, 3])
    >>> nx.path.bidirectional_dijkstra(G,1,4)
    False
    >>> nx.path.bidirectional_dijkstra(G,1,5)
    False
    >>> 
    

    You can also use the result as a boolean value

    >>> if nx.path.bidirectional_dijkstra(G,1,2): print "path exists"
    ... 
    path exists
    >>> if nx.path.bidirectional_dijkstra(G,1,4): print "path exists"
    ... 
    >>> 
    

提交回复
热议问题