52ky 发表于 2023-10-8 20:20:29

易语言广度优先搜索实现漫水法源码例子

原则:

从指定的初始点开始,使用算子计算第一级节点,然后检查目标节点是否已经在后续节点中。如果没有,则使用算子在一级节点的基础上进行扩展。依此类推,直到搜索完成(目标达到)。

也就是说:

1、从图中的v0节点开始,首先访问v0并为其着色。

2、依次访问与v0相连的节点v1,v2...vn

3、依次访问与v1、v2...vn相邻且之前没有出现过的节点。

4. 直到所有的人都被访问完

如果使用队列来维护,避免堆栈爆炸,会非常方便。为了节省内存开销,也可以使用循环队列。因为易语言中的数组下标是从1开始的,所以要实现循环队列,只需对头指针和尾指针分别执行head%size+1和tail%size+1即可。



页: [1]
查看完整版本: 易语言广度优先搜索实现漫水法源码例子