/**
* 广度优先搜索
* Vs 起点
* Vd 终点
*/
bool BFS(Node& Vs, Node& Vd){
queue<Node> Q;
Node Vn, Vw;
int i;
//初始状态将起点放进队列Q
Q.push(Vs);
hash(Vw) = true;//设置节点已经访问过了!
while (!Q.empty()){//队列不为空,继续搜索!
//取出队列的头Vn
Vn = Q.front();
//从队列中移除
Q.pop();
while(Vw = Vn通过某规则能够到达的节点){
if (Vw == Vd){//找到终点了!
//把路径记录,这里没给出解法
return true;//返回
}
if (isValid(Vw) && !visit[Vw]){
//Vw是一个合法的节点并且为白色节点
Q.push(Vw);//加入队列Q
hash(Vw) = true;//设置节点颜色
}
}
}
return false;//无解
}
未完待续...
本文介绍了一种基于广度优先搜索(BFS)算法实现路径查找的方法。该算法使用队列来跟踪从起始节点到目标节点的路径。文章详细解释了如何通过遍历节点并检查相邻节点来寻找有效路径的过程。
2259

被折叠的 条评论
为什么被折叠?



