dijkstra算法如何将值设置为无穷大?

时间:2016-04-27 03:31:18

标签: python algorithm dijkstra

您正在使用dijkstra算法,并且评论中的第一个提示是,'''对于图表中的所有节点,将距离设置为等于无穷大且先前等于没有''' 这是什么意思,你如何设置等于无穷大的值? 在方法中没有结束所以我猜测只是为了结束相邻的节点?我这样说是因为有一个are_adjacent方法 这是我的小事

def are_adjacent(self, value1, value2):
    return(self.find(value1).is_adjacent(self.find(value2)))


def dijkstra(self, start): 

3 个答案:

答案 0 :(得分:0)

你可以在Python中这样做:

var = float('inf')
var = float('-inf')   # for minus oo

python >= 3.5使用math模块:(在评论中指出@alpert和@YOU)

import math
var = math.inf
var = -math.inf

答案 1 :(得分:0)

您可以将值设置为无限:

value = float('inf')

或者在python 3.5中:

import math
value = math.inf

答案 2 :(得分:0)

  1. 你可以将它设置为像1e9这样的大值(NodeCount * MaximumEdgeWeight,没有超过这个值的路径);
    1. 或者将其设置为值" -1"并检查一些"如果":if(d [v] == -1){/ *那么它是无穷大* /}。