当前位置: 首页 > news >正文

淄博免费建站seo怎么做关键词排名

淄博免费建站,seo怎么做关键词排名,固原市住房和城乡建设局网站,58同城给做网站深度优先遍历-解决排列组合问题 问题1: 假设袋子里有编号为1,2,…,m这m个球。现在每次从袋子中取一个球记下编号,放回袋中再取,取n次作为一组,枚举所有可能的情况。 分析: 每一次取都有m种可能的情况,因此…

深度优先遍历-解决排列组合问题

问题1:

假设袋子里有编号为1,2,…,m这m个球。现在每次从袋子中取一个球记下编号,放回袋中再取,取n次作为一组,枚举所有可能的情况。

分析:
每一次取都有m种可能的情况,因此一共有 m n m^n mn种情况。
这里我们取m = 3, n = 4,则有 3 4 3^4 34种不同的情况。

代码:

import java.util.Stack;public class Test {static int cnt = 0;static Stack<Integer> s = new Stack<Integer>();/*** 递归方法,当实际选取的小球数目与要求选取的小球数目相同时,跳出递归* @param minv - 小球编号的最小值* @param maxv - 小球编号的最大值* @param curnum - 当前已经确定的小球的个数* @param maxnum - 要选取的小球的数目*/public static void kase1(int minv,int maxv,int curnum, int maxnum){if(curnum == maxnum){cnt++;System.out.println(s);return;}for(int i = minv; i <= maxv; i++){s.push(i);kase1(minv, maxv, curnum+1, maxnum);s.pop();}}public static void main(String[] args){kase1(1, 3, 0, 4);System.out.println(cnt);}
}

输出:

[1, 1, 1, 1]
[1, 1, 1, 2]
[1, 1, 1, 3]
[1, 1, 2, 1]
[1, 1, 2, 2]
[1, 1, 2, 3]
[1, 1, 3, 1]
[1, 1, 3, 2]
[1, 1, 3, 3]
[1, 2, 1, 1]
[1, 2, 1, 2]
[1, 2, 1, 3]
[1, 2, 2, 1]
[1, 2, 2, 2]
[1, 2, 2, 3]
[1, 2, 3, 1]
[1, 2, 3, 2]
[1, 2, 3, 3]
[1, 3, 1, 1]
[1, 3, 1, 2]
[1, 3, 1, 3]
[1, 3, 2, 1]
[1, 3, 2, 2]
[1, 3, 2, 3]
[1, 3, 3, 1]
[1, 3, 3, 2]
[1, 3, 3, 3]
[2, 1, 1, 1]
[2, 1, 1, 2]
[2, 1, 1, 3]
[2, 1, 2, 1]
[2, 1, 2, 2]
[2, 1, 2, 3]
[2, 1, 3, 1]
[2, 1, 3, 2]
[2, 1, 3, 3]
[2, 2, 1, 1]
[2, 2, 1, 2]
[2, 2, 1, 3]
[2, 2, 2, 1]
[2, 2, 2, 2]
[2, 2, 2, 3]
[2, 2, 3, 1]
[2, 2, 3, 2]
[2, 2, 3, 3]
[2, 3, 1, 1]
[2, 3, 1, 2]
[2, 3, 1, 3]
[2, 3, 2, 1]
[2, 3, 2, 2]
[2, 3, 2, 3]
[2, 3, 3, 1]
[2, 3, 3, 2]
[2, 3, 3, 3]
[3, 1, 1, 1]
[3, 1, 1, 2]
[3, 1, 1, 3]
[3, 1, 2, 1]
[3, 1, 2, 2]
[3, 1, 2, 3]
[3, 1, 3, 1]
[3, 1, 3, 2]
[3, 1, 3, 3]
[3, 2, 1, 1]
[3, 2, 1, 2]
[3, 2, 1, 3]
[3, 2, 2, 1]
[3, 2, 2, 2]
[3, 2, 2, 3]
[3, 2, 3, 1]
[3, 2, 3, 2]
[3, 2, 3, 3]
[3, 3, 1, 1]
[3, 3, 1, 2]
[3, 3, 1, 3]
[3, 3, 2, 1]
[3, 3, 2, 2]
[3, 3, 2, 3]
[3, 3, 3, 1]
[3, 3, 3, 2]
[3, 3, 3, 3]
81

问题2:

假设袋子里有编号为1,2,…,m这m个球。先后从袋子中取出n个球,依次记录编号,枚举所有可能的情况。

分析:
这是排列问题,如果取出的球顺序不同,也是算不同的情况。因此应该有 m ∗ ( m − 1 ) ∗ ( m − 2 ) ∗ . . . ∗ ( m − n + 1 ) m*(m-1)*(m-2)*...*(m-n+1) m(m1)(m2)...(mn+1)种情况,即 A m n = m ! ( m − n ) ! A_m^n=\frac{m!}{(m-n)!} Amn=(mn)!m!
这里取m = 5, n = 3。则有5*4*3种。
和问题1相比,唯一的区别是排列中不可以有重复。因此开了used数组用以标记是否已经访问。

代码:

import java.util.Stack;public class Test {static int cnt = 0;static Stack<Integer> s = new Stack<Integer>();static boolean[] used = new boolean[10000];/*** 递归方法,当实际选取的小球数目与要求选取的小球数目相同时,跳出递归* @param minv - 小球编号的最小值* @param maxv - 小球编号的最大值* @param curnum - 当前已经确定的小球的个数* @param maxnum - 要选取的小球的数目*/public static void kase2(int minv,int maxv,int curnum, int maxnum){if(curnum == maxnum){cnt++;System.out.println(s);return;}for(int i = minv; i <= maxv; i++){if(!used[i]){ //判断是否已经取过s.push(i);used[i] = true;kase2(minv, maxv, curnum+1, maxnum);s.pop();used[i] = false;}}}public static void main(String[] args){kase2(1, 5, 0, 3);System.out.println(cnt);}
}

输出:

[1, 2, 3]
[1, 2, 4]
[1, 2, 5]
[1, 3, 2]
[1, 3, 4]
[1, 3, 5]
[1, 4, 2]
[1, 4, 3]
[1, 4, 5]
[1, 5, 2]
[1, 5, 3]
[1, 5, 4]
[2, 1, 3]
[2, 1, 4]
[2, 1, 5]
[2, 3, 1]
[2, 3, 4]
[2, 3, 5]
[2, 4, 1]
[2, 4, 3]
[2, 4, 5]
[2, 5, 1]
[2, 5, 3]
[2, 5, 4]
[3, 1, 2]
[3, 1, 4]
[3, 1, 5]
[3, 2, 1]
[3, 2, 4]
[3, 2, 5]
[3, 4, 1]
[3, 4, 2]
[3, 4, 5]
[3, 5, 1]
[3, 5, 2]
[3, 5, 4]
[4, 1, 2]
[4, 1, 3]
[4, 1, 5]
[4, 2, 1]
[4, 2, 3]
[4, 2, 5]
[4, 3, 1]
[4, 3, 2]
[4, 3, 5]
[4, 5, 1]
[4, 5, 2]
[4, 5, 3]
[5, 1, 2]
[5, 1, 3]
[5, 1, 4]
[5, 2, 1]
[5, 2, 3]
[5, 2, 4]
[5, 3, 1]
[5, 3, 2]
[5, 3, 4]
[5, 4, 1]
[5, 4, 2]
[5, 4, 3]
60

问题3:

从m个球里(编号为1,2,3…,m)一次取n个球,其中m>n,记录取出球的编号,枚举所有的可能性。

分析:
这是组合问题。应该有 ( m n ) = m ! n ! ( m − n ) ! \binom{m}{n}=\frac{m!}{n!(m-n)!} (nm)=n!(mn)!m!种可能性。
这里,如果取m = 8, n = 4. 则有 ( 8 4 ) = 8 ! 4 ! ( 8 − 4 ) ! = 8 × 7 × 6 × 5 4 × 3 × 2 × 1 = 70 \binom{8}{4}=\frac{8!}{4!(8-4)!}=\frac{8\times7\times6\times5}{4\times3\times2\times1}=70 (48)=4!(84)!8!=4×3×2×18×7×6×5=70种可能。

代码:

import java.util.Stack;public class Test {static int cnt = 0;static Stack<Integer> s = new Stack<Integer>();/*** 递归方法,当前已抽取的小球个数与要求抽取小球个数相同时,退出递归* @param curnum - 当前已经抓取的小球数目* @param curmaxv - 当前已经抓取小球中最大的编号* @param maxnum - 需要抓取小球的数目* @param maxv - 待抓取小球中最大的编号*/public static void kase3(int curnum, int curmaxv,  int maxnum, int maxv){if(curnum == maxnum){cnt++;System.out.println(s);return;}for(int i = curmaxv + 1; i <= maxv; i++){ // i <= maxv - maxnum + curnum + 1s.push(i);kase3(curnum + 1, i, maxnum, maxv);s.pop();}}public static void main(String[] args){kase3(0, 0, 4, 8);System.out.println(cnt);}
}

输出:

[1, 2, 3, 4]
[1, 2, 3, 5]
[1, 2, 3, 6]
[1, 2, 3, 7]
[1, 2, 3, 8]
[1, 2, 4, 5]
[1, 2, 4, 6]
[1, 2, 4, 7]
[1, 2, 4, 8]
[1, 2, 5, 6]
[1, 2, 5, 7]
[1, 2, 5, 8]
[1, 2, 6, 7]
[1, 2, 6, 8]
[1, 2, 7, 8]
[1, 3, 4, 5]
[1, 3, 4, 6]
[1, 3, 4, 7]
[1, 3, 4, 8]
[1, 3, 5, 6]
[1, 3, 5, 7]
[1, 3, 5, 8]
[1, 3, 6, 7]
[1, 3, 6, 8]
[1, 3, 7, 8]
[1, 4, 5, 6]
[1, 4, 5, 7]
[1, 4, 5, 8]
[1, 4, 6, 7]
[1, 4, 6, 8]
[1, 4, 7, 8]
[1, 5, 6, 7]
[1, 5, 6, 8]
[1, 5, 7, 8]
[1, 6, 7, 8]
[2, 3, 4, 5]
[2, 3, 4, 6]
[2, 3, 4, 7]
[2, 3, 4, 8]
[2, 3, 5, 6]
[2, 3, 5, 7]
[2, 3, 5, 8]
[2, 3, 6, 7]
[2, 3, 6, 8]
[2, 3, 7, 8]
[2, 4, 5, 6]
[2, 4, 5, 7]
[2, 4, 5, 8]
[2, 4, 6, 7]
[2, 4, 6, 8]
[2, 4, 7, 8]
[2, 5, 6, 7]
[2, 5, 6, 8]
[2, 5, 7, 8]
[2, 6, 7, 8]
[3, 4, 5, 6]
[3, 4, 5, 7]
[3, 4, 5, 8]
[3, 4, 6, 7]
[3, 4, 6, 8]
[3, 4, 7, 8]
[3, 5, 6, 7]
[3, 5, 6, 8]
[3, 5, 7, 8]
[3, 6, 7, 8]
[4, 5, 6, 7]
[4, 5, 6, 8]
[4, 5, 7, 8]
[4, 6, 7, 8]
[5, 6, 7, 8]
70

http://www.khdw.cn/news/3616.html

相关文章:

  • 公司设计网站推荐搜索引擎优化的意思
  • 同个网站可以做多个外链吗怎么建个网站
  • 天津企业网站建设抚州网络推广
  • 建设公司官方网站网站seo策划
  • 泊头市建设局网站网络营销一个月能挣多少钱
  • 怎样做影视网站不侵权百度关键词价格查询软件
  • 如何创建自己的邮箱宁波专业seo服务
  • 网站如何做tag成都最好的seo外包
  • 深圳网站建设公司报价seo关键词排名点击工具
  • 可以兼职做翻译的网站或app软件开发外包
  • 集思吧网站怎么做问卷seo承诺排名的公司
  • 外省公司做网站备案seo公司软件
  • 视频拍摄制作合同seo免费优化网站
  • 汕尾网站开发优化搜索引擎的方法
  • 电商网站开发要哪些技术周口网站建设公司
  • 电影网站如何做seo郑州客串seo
  • 平面设计素材网站排名厦门网站到首页排名
  • 现代网站开发建设流程手机端seo
  • 推荐一个免费的网站苏州seo关键词优化方法
  • 烟台网站排名seo百度云网页版入口
  • 凡科自助建站自己做网站网站seo在线诊断分析
  • 成都网站建设 3e网络做百度推广的网络公司广州
  • 福州做网站建设网站推广应该怎么做?
  • 做家电家具回收用哪个网站好找客户资源的软件免费的
  • 闵行网站制作哪里有百度下载电脑版
  • 买一个成品网站多少钱搜索网站排行
  • 西安电子商务网站seo软件安卓版
  • 北京高端品牌网站建设重庆seo顾问服务
  • 网站建设成本包括什么百度推广联系方式
  • 网站建设需要怎么做网站营销方案