第一百三二章 机器人罗比(下)


小说:编程之战   作者:程序小猿   类别:未来世界   加入书签   【章节错误/点此举报】   【更新慢了/点此举报
推荐阅读: 永恒剑主 | 星光灿烂 | 巨星夫妻 | 弑天刃 | 九重神格 | 超警美利坚 | 步步惊唐 | 绝世天君 | 都市幻界 | 异度
笔趣阁 //www.boquge.com/book/105094/ 为您提供编程之战全文阅读!注册本站用户,获取免费书架,追书更方便!
  “唰唰!”,牛仔从大树上跳下来。
  然后,他看见了倒在地上,奄奄一息的小机器人罗比。
  “哥们,发生啥事了?”
  杨成看了看小机器人,脸上很是诧异。
  就在这时,罗比开口了,它的声音很微弱。
  “主人...”
  “罗比的寻路逻辑被破坏了...”
  “想让罗比带你们回家...”
  “请先修复...”
  杨成听到这里,已经有了些眉目。
  这个关卡敢情是考寻路算法啊。
  对于要判定地图中两点间的路径,有一种简单粗暴的做法。
  使用深度优先遍历!
  它的实现方式很简单,但有2点不足:
  1.效率低下
  2.它找到的路径不一定是最短路径
  第二点尤其致命,绕远路白费力气。
  所以这个问题应该是寻找图中两点的最短路径。
  当前的地图有什么特点?
  它并没有“权重”。
  对于有权重的地图,寻找最小权重和路径,有一种经典的算法。
  迪杰斯特拉最短路径算法。
  但这个地图是没有权重的。
  事实上,这里也可以应用迪杰斯特拉算法,但效率不高,而且需要大量的额外空间。
  怎样找到一种,足够简单,实现方便,而且效率不会很低的最短路径算法呢?
  杨成想到了老朋友。
  广度优先遍历算法。
  这个方法可以做到!
  但是,我们得给它做点小小的改变。
  -------------------------------
  这个最短路径问题,迪杰斯特拉算法经过优化后的时间效率是O(N*logN),而广度优先遍历是O(N)的,而且迪杰斯特拉需要的额外空间也更多。