Dijkstra最短路径算法本质上也是广度优先搜索。
考虑到算法的remove_smallest操作,使用最小堆提升效率。
class Point(object):
def __init__(self, index, value):
self.index = index
self.value = value
def __lt__(self, other):
return self.value < other.value
class Heap(object):
def __init__(self):
se