深度优先搜索(Depth First Search)
2017-12-26 00:00
453 查看
深度优先搜索(Depth First Search)
public class Test { public static void main(String[] args) { Test t = new Test(); t.depthFirstSeacrh(0); } int n = 5; int[] a = new int ; int[] book = new int ; public void depthFirstSeacrh(int step) { int i = 0; if (step == n) { out(a); return; } for (i = 0; i < n; i++) { if (book[i] == 0) { a[step] = i+1; book[i] = 1; depthFirstSeacrh(step + 1); book[i] = 0; } } } public void out(int[] a) { for (int i : a) { System.out.print(i + " "); } System.out.println(); } }
代码解析
* 模型 全排列1,2,3 * 设置盒子 a数组 1,2,3 * 手上持有数据 1,2,3 3张卡片 * 设置标记状态 book[i] 第i张卡片是否被放置在盒子中 * 如 book[1]=1 表示 1号卡片,已经放置在盒子中了 * step 表示,执行步骤.每一次排列,step 最大为3 * 经过多轮排列,在第1步操作中,向1号盒子放置3号卡片 * a[step] = i; 如 a[2] = 1, * 表示 在某次排列中,在第2步操作,向2号盒子放置1号卡片
相关文章推荐
- 深度优先搜索(Depth-First-Search)
- javascript实现的图数据结构的广度优先 搜索(Breadth-First Search,BFS)和深度优先搜索(Depth-First Search,DFS)
- DFS-深度优先搜索(Depth First Search)—1
- 图的深度优先搜索(Depth First Search,DFS)
- 图——深度优先搜索(Graph - Depth First Search)
- 深度优先搜索(Depth-First-Search,DFS)
- 【算法总结系列-6】深度优先搜索-Depth First Search,DFS
- 5.3.2 深度优先搜索(Depth-First-Search,DFS)
- 图的深度优先搜索(Depth First Search)
- 图的遍历——深度优先搜索(Depth First Search)
- 图的遍历之深度优先搜索(Depth-First Search—DFS)
- TensorFlow中的深度优先搜索(Depth-first search, DFS)
- 深度优先搜索(Depth-First-Search)精髓
- (Basic algorithm学习笔记)《基础算法四》- 深度优先搜索(Depth First Search,DFS )
- Depth-first Search -- Leetcode problem394. Decode String
- 深度优先算法(depthFirstSearch,DFS)
- SQL:SEARCH DEPTH FIRST和 SEARCH BREADTH FIRST
- Depth-first Search -- Leetcode problem100. Same Tree
- Depth-First Search
- Non recursive Depth first search