速度暴快的组合生成算法

原创 2007年10月05日 17:41:00

 

   近日在维普数据库里看资料,偶然发现了一个介绍组合生成算法的文章,照着算法流程,自己写了一下,发现速度果然不错。

C++实现代码:

#include <cstdlib>
#include 
<iostream>

using namespace std;

void  combination( int n, int m )...{
      
int   *A=new int[n+1];
      
int   *B=new int[m+1];
      
int   i, j;
      
for( i=1; i<=n; ++i )
           A[i]
=i;
      
for( i=1; i<=m; ++i )
           B[i]
=m;
      
while( B[1]<n )...{
             
for( i=1; i<=m; ++i )
                  cout
<<A[i]<<" ";
             cout
<<endl;
             j
=m;
             
while( B[j]==n )
                    
--j;
             
++B[j];
             
for( i=j+1; i<=m; ++i )
                  B[i]
=B[j];
             swap( A[j], A[B[j]] );
      }

      delete []A;
      delete []B;
}

      
int main(int argc, char *argv[])
...{
    combination( 
204 );
    system(
"PAUSE");
    
return EXIT_SUCCESS;
}

 

           

组合生成算法

上学期在离散课上学到的基于字典序的组合生成算法,在这里整理一下: 目的: 集合1~n已经确定,已知当前组合,按照字典序生成下一个组合; 1.所有组合都是按字典序升序排列; 2.每个组合内部元素...
  • EaShion1994
  • EaShion1994
  • 2015年03月03日 15:39
  • 1079

一个排列、组合的生成算法

...
  • gklbiti
  • gklbiti
  • 2006年06月01日 22:53
  • 1309

组合的生成算法

 本组合生成算法采用非递归生成方法,效率比较高。/** * 组合的生成算法 * 实现枚举出组合C(n,r) */package source;/** * @author lgj * @time 200...
  • lgjfly
  • lgjfly
  • 2009年10月07日 16:54
  • 680

生成{1,2,..n}的字典序r-组合算法

组合的概念不用多解释。计算组合数有特定的公式。当然某些应用可能要求我们枚举组合中所有的可能情况,这时套公式算数就无能为力了。如:集合{1,2,3,4}的字典序2-组合为{1,2}{1,3}{1,4}{...
  • liuintermilan
  • liuintermilan
  • 2010年11月13日 00:27
  • 3128

一种新的全排列生成算法

一种新的全排列生成算法 算法原理:       对集合S={a1,a2,...,an},假设已经知道前n-1个元的全排列,那么,这n个元素的全排列{p1,p2,...,p(n-1)!},可以这样生成 ...
  • medie2005
  • medie2005
  • 2007年11月10日 11:45
  • 3269

全排列生成算法(一)

对于给定的集合A{a1,a2,...,an},其中的n个元素互不相同,如何输出这n个元素的所有排列(全排列)。 递归算法 这里以A{a,b,c}为例,来说明全排列的生成方法,对于这个集合,其包含3...
  • joylnwang
  • joylnwang
  • 2011年12月15日 16:47
  • 37720

查找算法之哈希查找

哈希查找是通过计算数据元素的存储地址进行查找的一种方法。O(1)的查找,即所谓的秒杀。哈希查找的本质是先将数据映射成它的哈希值。哈希查找的核心是构造一个哈希函数,它将原来直观、整洁的数据映射为看上去似...
  • xiaoping8411
  • xiaoping8411
  • 2012年07月01日 11:56
  • 29561

各种跟踪算法 简介

概述         目标跟踪作为Machine Learning的一个重要分支,加之其广泛的应用(行人、军事中飞机导弹等),对其的研究   受到国内外学者的喜爱。   总的来说整个目标跟踪过程...
  • weixin_40355324
  • weixin_40355324
  • 2017年11月26日 17:37
  • 196

近两年跟踪速度较快的算法总结

  • 2015年03月25日 15:09
  • 1.25MB
  • 下载

近两年跟踪速度较快的算法小结

近两年跟踪速度较快的算法小结
  • jacke121
  • jacke121
  • 2017年01月11日 22:48
  • 868
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:速度暴快的组合生成算法
举报原因:
原因补充:

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