学习材料
《算法图解》第7章
适用情景
找出从一个节点到另一个节点的最短(快)路径
准备工作
对一个带权图进行描述,可使用两个散列表(字典),其中一个散列表用来描述每个结点的指向及权值,对于一个节点指向两个及以上的节点的情况,可使字典嵌套;另一个散列表用来描述从“起点”开始到其他节点的距离,若起点未与某个节点直接相连,在初始时把这段距离置为无穷大。
举例:图及其对应散列表如下
graph={}
graph["start"]={}
graph["start"]["A"]=5
graph["start"]["B"]=2
graph["A"]={}
graph["A"]["C"]=4
graph["A"]["D"]=2
graph["B"]={}
graph["B"]["A"]=8
graph["B"]["D"]=7
graph["C"]={}
graph["C"]["fin"]=3
graph["C"]["D"]=6
graph["D"]={}
graph["D"][