2024-05-18 10:09:27 发布
网友
我使用networkx加权图来模拟交通网络。我试图根据加权边的和来寻找最短路径。我用Dijkstra路径来找到这条路径。我的问题发生在加权边缘的平局。当这种情况发生时,我总是想从一组捆绑的路径中选择一条边数最少的路径。Dijkstra path似乎没有这么做。在
有没有一种方法可以确保我可以从一组按加权边和捆绑的路径中选择边数最少的路径?在
使用元组(weight, number_of_edges)和成对加法,而不是使用浮点作为权重。使用这些新权重的最低权重路径将具有最低权重,并且在平局的情况下,是最短路径。在
(weight, number_of_edges)
为了定义这些权重,我将使它们成为tuple的子类,并重新定义了__add__。那么你应该能够使用你现有的代码。在
tuple
__add__
使用元组
(weight, number_of_edges)
和成对加法,而不是使用浮点作为权重。使用这些新权重的最低权重路径将具有最低权重,并且在平局的情况下,是最短路径。在为了定义这些权重,我将使它们成为
tuple
的子类,并重新定义了__add__
。那么你应该能够使用你现有的代码。在相关问题 更多 >
编程相关推荐