是否有一个函数可以找到两个节点之间的最短路径?

问题描述 投票:0回答:1

使用python,是否有一个函数可以让我找到networkx图中两个节点之间的最短距离。该功能本身不能来自networkx。基本上我要问的是,networkx.shortest_path_length()是否有替代函数,而不实际使用NetworkX。我查看了源代码,它也有nx函数。

python function networkx shortest-path
1个回答
0
投票

是的,Dijkstra’s algorithm。该算法创建一个从起始顶点,源到图中所有其他点的最短路径树。

def dijkstra(self, src): 

    dist = [sys.maxint] * self.V 
    dist[src] = 0
    sptSet = [False] * self.V 

    for cout in range(self.V): 
        u = self.minDistance(dist, sptSet) 
        sptSet[u] = True

        for v in range(self.V): 
            if self.graph[u][v] > 0 and sptSet[v] == False and dist[v] > dist[u] + self.graph[u][v]: 
                    dist[v] = dist[u] + self.graph[u][v] 

    self.printSolution(dist) 
© www.soinside.com 2019 - 2024. All rights reserved.