算法图解
flying_1314
2024分享前沿文章~敬请期待~
展开
-
第7章——狄克特斯拉算法
算法比较 相比于第6章的广度优先算法计算的是无权图中的最短路径,狄克特斯拉算法计算的是加权图中的最短路径 算法流程 找出最便宜的节点,即可在最短时间内前往的节点。 对于该节点的邻居,检查是否有前往它们的更短路径,如果有,就更新其开销。 重复这个过程,直到对图中的每个节点都这样做了。 计算最终路径 注意事项 迪杰斯特拉适用于有向无环图,因为无向或者有环,在该算法中,你会发现它会不断的循环,因为一直有邻居。 该算法不适用于负权边,负权边的意思就是边的权重为负值。原因在于,算法本身考虑的是当前最小的原创 2020-06-05 22:53:43 · 942 阅读 · 0 评论 -
第6章——广度优先搜索
目标 解决两类问题: 第一类问题:从节点A出发,有前往节点B的路径吗? 第二类问题:从节点A出发,前往节点B的哪条路径最短? 注意事项 我们先用字典构建一个图模型。 你需要按加入顺序检查搜索列表中的元素,否则找到的就不是最短路径,因此搜索列表必 须是队列。 对于检查过的元素,务必不要再去检查,否则可能导致无限循环。 流程 用字典构建图网络 将字典的第一个key对应的数组加入队列 while循环,当队列不为空时,进入循环体 弹出队列中第一个元素,判断是否访问过, 没有访问过:...原创 2020-06-05 19:15:34 · 147 阅读 · 0 评论