图解问题以 dijkstra算法为例.
寻找某个节点到其他节点的最短路径:
这个问题的关键有两点:
1、把首节点的距离设置为0,然后一次更新相邻的点的距离,在求出来的这些距离中,遍历找出最短的路径,进行下一轮的查找。一次往复,直到找不出点来。在查找的过程中,要定义一个boolean变量来记录已经被访问过的节点,在的查找过程中,已经访问过的不再访问。
2、如何快速高效的表示一张图结构,一般用 二维数组 表示节点与节点的延迟数据,也就是图的权重。我们可以用一个Map结构表示图的相邻结构,key作为节点编号,value可以是数组,数组的第一个元素表示下一个节点编号,第二个元素表示两个节点的延迟。
注意:不用区别方向是因为,你当前节点的值,再回去的话,肯定会大于之前节点过来的值,我们是取最小值,所以自动就跳过了。
这里的图结构可以根据自己喜欢的样式来定义,能满足要求就可以。