首页 > 其他 > 详细

深度优先遍历

时间:2020-06-21 09:55:11      阅读:77      评论:0      收藏:0      [点我收藏+]

就是dfs,有个好听的名字叫回溯,其实就是穷举法,这种算法的时机复杂度为n^level ,效率还是很低的

import java.util.Stack;

public class DFSTest {

public static void main(String[] args) {
char[] p = {‘A‘,‘B‘,‘C‘};
boolean[] pb = new boolean[p.length];
dfs(p,pb,new Stack<>());
}

private static void dfs(char[] p,boolean[] pb,Stack<Character> res){
if(res.size() == p.length ){
System.out.println(res);
return;
}
for (int i = 0; i < p.length; i++) {
char c = p[i];
if(!pb[i]){
res.push(c);
pb[i] = true;
dfs(p,pb,res);
res.pop();
pb[i] = false;
}
}
}
}

 

深度优先遍历

原文:https://www.cnblogs.com/dongma/p/13171390.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!