深度优先搜索
来源:互联网 发布:lol龙虾皮肤淘宝价多少 编辑:程序博客网 时间:2024/05/19 00:54
若存在所有点都未被访问的图,要求访问这图中的所有的点,则可以使用深度优先搜索来解决这一个问题。深度优先搜索可以从图中某个顶点出发,然后再从未被访问的邻接顶点出发遍历全图。理解深度优先搜索的关键在于解决当下该如何做。至于下一步如何做鱼当下如何做的方法是一样的。把每一种可能都去尝试一遍,当前这一步解决后进入下一步,下一步的解决方法和这一步的完全一样,显然这是一个递归的过程。为了在遍历过程中区分点是否已经被访问,需要设置一个标志数组用了对已经访问过的点进行标记。
void DFS(int step){ 判断边界 尝试每一种可能for(i = 1; i <= n; ++i) { 继续下一步DFS(setp+1) } 返回 }
下面举一个简单的例子来说明深度优先搜索的用法。
void DFS(int step){ int i; if (step == 10){ if (a[1] * 100 + a[2] * 10 + a[3] + a[4] * 100 + a[5] * 10 + a[6] == a[7] * 100 + a[8] * 10 + a[9]) { ++total; } return; } for (i = 1; i <= 9; ++i){ if (book[i] == 0){ a[step] = i; book[i] = 1; DFS(step + 1); book[i] = 0; } } return;}
0 0
- 深度优先搜索
- 深度优先搜索
- 深度优先搜索 DFS
- 深度优先搜索遍历
- 深度优先搜索 DFS
- 深度优先搜索
- 深度优先搜索
- 深度优先搜索算法
- hdoj1015Safecracker(深度优先搜索)
- [AI]深度优先搜索
- 深度优先搜索算法
- DFS 深度优先搜索
- 深度优先搜索
- 深度优先搜索算法
- 图解深度优先搜索
- 深度优先搜索
- 深度优先搜索
- 深度优先搜索算法
- Android官方开发文档Training系列课程中文版:支持不同的设备之支持不同的语言
- android:layout_weight属性的工作原理
- android的抽屉控件SlidingDrawer的使用
- C++学习(一)——安装gcc编译环境
- 第四周,项目三,2,小学生算术能力测试系统
- 深度优先搜索
- 3.5.Android控件架构与自定义控件详解之自定义View(四)
- Java核心知识点-一些基本概念
- Android Manager
- 项目2:太乐了
- 第4周项目1-(2)
- C++设计模式之工厂方法模式(Factory Method)
- java并发-CyclicBarrier-实战应用
- webapp和mobileapp分析