码迷,mamicode.com
首页 > 编程语言 > 详细

dfs算法中求数列的组合

时间:2017-03-26 18:11:58      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:数列   print   ati   rgs   oid   new   str   dfs   方法   

/*

从13个书中挑选5个值,他们的组合可能是 什么,

如下代码

dfs深度遍历, 和全排列是一种方法,但是思路不同

*/

public class Main {
static int count = 0;
static int a[] = new int[6];
public static void main(String[] args) {
boolean visit[] = new boolean[13];
dfs(a,visit,1);
System.out.println(count);
}

private static void dfs(int[] a, boolean[] visit, int num) {
if (num==6) {
count++;
return ;
}
for (a[num] = a[num-1]+1; a[num] < 13; a[num]++) { //根排列算法不同的是这里不是 a[num]=1
if (visit[a[num]]==false){
visit[a[num]]=true;
num = num + 1;
dfs(a, visit, num);
num = num - 1;
visit[a[num]] = false;
}
}
}
}

dfs算法中求数列的组合

标签:数列   print   ati   rgs   oid   new   str   dfs   方法   

原文地址:http://www.cnblogs.com/czy960731/p/6623416.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!