返回

编程之战

首页
关灯
护眼
字体:
第一百三三章 最短路径
书架管理 返回目录
    要将广度优先遍历算法,转变成最短路径的算法,需要在遍历的时候,对地图的每一个节点额外存储两个信息:

    1从起始节点到当前节点的路径长度(非必须)

    2当前节点之前的那个节点(前驱节点)

    在遍历的过程中,如果抵达了目标节点,就终止遍历。

    最短的路径就是:

    目标节点,目标节点的前驱节点,前驱节点的前驱节点

    直到起始节点。

    相当于是一个沿着目标节点的前驱链表回溯的过程。

    这个实现并不复杂,杨成很快就写完了代码。

    但他也注意到了这个算法的不足之处:

    消耗的时间比较大,遍历的点会很多。

    有没有办法让这个算法变得更加智能呢?

    “哎哎呀”,只听见小机器人罗比闷哼了一声。

    它骨碌碌地爬起来。

    “主人,感谢你修复好了罗比的寻路逻辑”。

    “那么,下面开始导航吧!”

    只见那罗比耷拉着脑袋,一副沉思的模样。

    “确定当前为起始节点”

    “确定检查站为目标节点”

    “寻路算法执行中”

    “请稍候”

    罗比一只手握着手电筒,另一只手托着下巴。

    杨成和科勒文则呆呆地看着它。

    时间一分一秒地过去了

    罗比这边还是没什么动静。

    “我的天哪”,杨成以手扶额。

    这就尴尬了!

    杨成心里忐忑不安。

    就在这时,小机器人身上发生了变故。

    只见它头顶冒起一股白烟

上一章 目录 下一章