广度优先搜索例程:迷宫最短路径

广度优先就是宽度优先(即BFS,Breadth-First-Search)

就像一张白纸上滴一滴墨水 它会漫开 这就是BFS(反之,深度优先(DFS)就是“不撞南墙不回头”)

这个例程是关于迷宫最短路径的 然后你只需要一点点改动 再设置一个阀值 就可以达到PS中“魔棒”的效果(点一下某区域 自动扩展到相近颜色的其它区域)

  

然后补充一下基础知识 知道队列的请直接跳过

queue即是队列 head是头 tail是最后一个成员的下一个位置

队列就像排队买包子,只能在一段插入(新人挤到队尾开始排队) 另一端删除(买完包子离开),即先进先出,后进后出

那么队列的初始化就是head=1; tail=1,此时队列为空,大家想一想是不是如果 head>=tail 成立,队列就为空了(答案是right)

然后我们加入一个成员就是 queue[tail] = XXX; tail++ (请注意因为tail指向最后一个成员的下一个位置)

删除一个成员就是 head++

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注