易语言广度优先搜索实现漫水法源码例子
原则:从指定的初始点开始,使用算子计算第一级节点,然后检查目标节点是否已经在后续节点中。如果没有,则使用算子在一级节点的基础上进行扩展。依此类推,直到搜索完成(目标达到)。
也就是说:
1、从图中的v0节点开始,首先访问v0并为其着色。
2、依次访问与v0相连的节点v1,v2...vn
3、依次访问与v1、v2...vn相邻且之前没有出现过的节点。
4. 直到所有的人都被访问完
如果使用队列来维护,避免堆栈爆炸,会非常方便。为了节省内存开销,也可以使用循环队列。因为易语言中的数组下标是从1开始的,所以要实现循环队列,只需对头指针和尾指针分别执行head%size+1和tail%size+1即可。
页:
[1]