论文网
English Papers
万事OK网
发表论文
 
 首页 > IT文章 > 程序设计 >
排列组合算法

[科技论文网] http://www.scipapers.com    2007-12-01  

    排列组合算法

    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进  
      一。每加一次一就判断一下各位数组单元有无重复,有则再转回去做加一操作,没  
      有则说明得到了一个排列方案。

     
        来源:

声明:本文由网友推荐或作者提交,版权归原作者所有,刊登此文仅为传播知识,展示研究成果,提高文章引用率。未经原作者授权,禁止用于任何形式的商业行为。科技论文网倡导尊重知识、尊重劳动、保护原创、知识共享。由于部分论文文章来于网络,文章作者不祥,请相关的原创作者与我们联系,以便加上您的署名。

  
排列组合算法
下面没有链接了     走迷宫程序
最新论文
·[程序设计]排列组合算法
·[程序设计]走迷宫程序
·[程序设计]红黑树分析和实现
·[程序设计]最小堆/哈希表/二叉树/平衡二叉树/红黑树
·[程序设计]模式匹配的KMP算法
·[程序设计]汉诺塔源码
·[程序设计]寻找链表中间节点算法
·[程序设计]算术表达式的计算
·[程序设计] 数独◎终结者
·[程序设计]使用指针P\Q使链表反转
 
 

搜索论文

Google
论文分类

论文网 论文发表网 论文 免费论文网 找论文网 毕业论文 中国论文网 英语论文 百度论文 聘教网 易搜
 免费发布论文    中国论文网 2008版权所有  业务联系:pinjiao@126.com