def shortest_path(graph, src, dest): if src == dest: return [src], 0 dist = traverse(graph, Heap([([src], 0)], cmp_frontier), dest) if not dist: print "No path form %s to %s" % (src, dest) return print "The min distance from %s to %s is %s" % (src, dest, dist) return dist
def __init__(self): self.lowers = Heap(is_max=True) # max heap for lower half self.highers = Heap(is_max=False) # min heap for higher half