博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA代码—算法基础:DFS搜索算法伪代码
阅读量:4041 次
发布时间:2019-05-24

本文共 799 字,大约阅读时间需要 2 分钟。

DFS搜索算法伪代码

给出如图所示的图,求图中的V0出发,是否存在一条路径长度为4的搜索路径。

DFS搜索算法伪代码

/**  * DFS核心伪代码  * 前置条件是visit数组全部设置成false  * @param n 当前开始搜索的节点  * @param d 当前到达的深度,也即是路径长度  * @return 是否有解  */  bool DFS(Node n, int d){      if (d == 4){
//路径长度为返回true,表示此次搜索有解 return true; } for (Node nextNode in n){
//遍历跟节点n相邻的节点nextNode, if (!visit[nextNode]){
//未访问过的节点才能继续搜索 //例如搜索到V1了,那么V1要设置成已访问 visit[nextNode] = true; //接下来要从V1开始继续访问了,路径长度当然要加 if (DFS(nextNode, d+1)){
//如果搜索出有解 //例如到了V6,找到解了,你必须一层一层递归的告诉上层已经找到解 return true; } //重新设置成未访问,因为它有可能出现在下一次搜索的别的路径中 visit[nextNode] = false; } //到这里,发现本次搜索还没找到解,那就要从当前节点的下一个节点开始搜索。 } return false;//本次搜索无解 }
你可能感兴趣的文章
非关系型数据库(nosql)介绍
查看>>
移动端自动化测试-Windows-Android-Appium环境搭建
查看>>
Xpath使用方法
查看>>
移动端自动化测试-Mac-IOS-Appium环境搭建
查看>>
Selenium之前世今生
查看>>
Selenium-WebDriverApi接口详解
查看>>
Selenium-ActionChains Api接口详解
查看>>
Selenium-Switch与SelectApi接口详解
查看>>
Selenium-Css Selector使用方法
查看>>
Linux常用统计命令之wc
查看>>
测试必会之 Linux 三剑客之 sed
查看>>
Socket请求XML客户端程序
查看>>
Java中数字转大写货币(支持到千亿)
查看>>
Java.nio
查看>>
函数模版类模版和偏特化泛化的总结
查看>>
VMware Workstation Pro虚拟机不可用解决方法
查看>>
最简单的使用redis自带程序实现c程序远程访问redis服务
查看>>
redis学习总结-- 内部数据 字符串 链表 字典 跳跃表
查看>>
iOS 对象序列化与反序列化
查看>>
iOS 序列化与反序列化(runtime) 01
查看>>