终于有个高效率的排列组合算法

原创 2006年05月28日 21:54:00

1。最近一直在考虑从m个数里面取n个数的算法。最容易理解的就是递归,但是其效率,实在不能使用。一直找寻中,今日得果

2。算法来源与互联网

组合算法  
  本程序的思路是开一个数组,其下标表示1到m个数,数组元素的值为1表示其下标  
  代表的数被选中,为0则没选中。    
  首先初始化,将数组前n个元素置1,表示第一个组合为前n个数。    
  然后从左到右扫描数组元素值的“10”组合,找到第一个“10”组合后将其变为  
  “01”组合,同时将其左边的所有“1”全部移动到数组的最左端。    
  当第一个“1”移动到数组的m-n的位置,即n个“1”全部移动到最右端时,就得  
  到了最后一个组合。    
  例如求5中选3的组合:    
  1   1   1   0   0   //1,2,3    
  1   1   0   1   0   //1,2,4    
  1   0   1   1   0   //1,3,4    
  0   1   1   1   0   //2,3,4    
  1   1   0   0   1   //1,2,5    
  1   0   1   0   1   //1,3,5    
  0   1   1   0   1   //2,3,5    
  1   0   0   1   1   //1,4,5    
  0   1   0   1   1   //2,4,5    
  0   0   1   1   1   //3,4,5  

全排列算法  
   
  从1到N,输出全排列,共N!条。  
  分析:用N进制的方法吧。设一个N个单元的数组,对第一个单元做加一操作,满N进  
  一。每加一次一就判断一下各位数组单元有无重复,有则再转回去做加一操作,没  
  有则说明得到了一个排列方案。

排列组合算法

排列组合算法 1。最近一直在考虑从m个数里面取n个数的算法。最容易理解的就是递归,但是其效率,实在不能使用。一直找寻中,今日得果2。算法来源与互联网组合算法     本程序的思路是开一个数组,其下...
  • todototry
  • todototry
  • 2006年11月22日 10:08
  • 46733

排列组合问题的通用算法

    尽管排列组合是生活中经常遇到的问题,可在程序设计时,不深入思考或者经验不足都让人无从下手。由于排列组合问题总是先取组合再排列,并且单纯的排列问题相对简单,所以本文仅对组合问题的实现进行详细讨论...
  • sharpdew
  • sharpdew
  • 2006年05月25日 17:26
  • 58643

js实现全排列组合算法

js实现全排列组合算法
  • mxdzchallpp
  • mxdzchallpp
  • 2017年07月06日 20:11
  • 1109

几个重要的排列组合定理公式

1.排列的几个定理公式 .排列,一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(Arrangement)。特别地,当m=n时,这个排列...
  • ccDLlyy
  • ccDLlyy
  • 2017年02月01日 16:29
  • 1047

C++:排列组合算法

转载请注明出处 排列组合数是一种非常实用的工具,计算出所有的排列组合可以解决一些实际的工程问题。所以,掌握计算排列组合的方法是十分必要的。 目前,网上已经有一些计算排列组合数的算法,比如http://...
  • DeepMindMan
  • DeepMindMan
  • 2016年08月20日 22:47
  • 10590

排列组合公式及排列组合算法

排列组合公式 排列组合公式/排列组合计算公式 公式P是指排列,从N个元素取M个进行排列。 公式C是指组合,从N个元素取M个进行组合,不进行排列。 N-元素的总个数 M参与...
  • ajian005
  • ajian005
  • 2014年03月27日 09:38
  • 9744

排列组合算法总结(含Java实现)

一. 排列组合1. 排列(1)排列:(2)全排列:2. 组合:从n个元素中选择m个元素(不考虑顺序)...
  • Wendy0719
  • Wendy0719
  • 2017年06月06日 17:22
  • 2277

排列组合算法实现--基于JS

公司要做了个彩票的预测奖金业务,居然要用到高中的排列组合,好吧,这个时候不得不承认,高中没有白上啊..... 排列组合的思想大家都清楚(不清楚的请回高中自行面壁。)   C n n一下子理不清,于是我...
  • qq_28205539
  • qq_28205539
  • 2017年05月13日 14:31
  • 1316

字符串的排列组合算法合集

http://blog.csdn.net/hackbuteer1/article/details/7462447 全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递...
  • sjpz0124
  • sjpz0124
  • 2015年06月25日 20:58
  • 1002

算法之排列与组合算法

1. 前言 本文介绍了常用的排列组合算法,包括全排列算法,全组合算法,m个数选n个组合算法等。 2. 排列算法 常见的排列算法有: (A)字典序法 (B)递增进位...
  • GarfieldEr007
  • GarfieldEr007
  • 2016年03月27日 13:09
  • 1300
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:终于有个高效率的排列组合算法
举报原因:
原因补充:

(最多只允许输入30个字)