内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

Java宽度优先算法解决迷宫(Maze)问题

2018-10-08 17:14 出处:清屏网 人气: 评论(0

蝼蚁聚团求存,强者则与寂寞和星空为伴

哈哈,这句话居然还是我超喜欢的小说之一的作者写的。。。果然,英雄所见略同:

所以,请计算机2018级《人工智能》课堂的兄弟,看到这里就自觉关闭网页吧。。。。我写了一下午。。。想留着纪念下。。不想明天直接就是一大片一样的。。

正文

  1. 作业需求如下,其实很简单啦!~
  1. 需求分析

起点状态其实就对应初始状态,起点可走周围四个方向(过程中需对是否越界,是 否撞墙做出判断,不满足条件都为不可到达的状态,生成子节点时可直接不考虑), 一旦遍历的点为终点这时经历的路径必为最短,即经历的层数最少,当然,此路径并 不唯一,取最先达到终点的路径为优先。

  1. 算法流程(基于宽度优先)
  • 3.1 步骤流程:

    ~ 我先藏起来~ 明天再发~

  • 3.2 关键点分析

    上述步骤中,初始化动作为步骤一,步骤二到步骤八是循环操作。其中有三处跳出 循环的点:

  1. 队列 Q 为空时,代表着所有的节点能从初始点到达的节点都已经搜索完毕,可以 直接结束程序(break);
  2. 如果当前节点是搜索过的节点,那么退出本次循环,进入下次循环(continue); 3. 找到了目标节点,回溯至初始节点后得到路径,完美退出(exit)。

代码放一放:

输出结果如图:

正文之后

我知道这个算法实现写的稀烂的。。。而且讲道理,我觉得很是有点广度优先的意思在里头了。。。这。。很可怕了~ 不过不管了。写了那么久,将就着用吧!溜了,吃饭去了

分享给小伙伴们:
本文标签: MazeJava算法

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号