![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排列与组合
文章平均质量分 74
grenet
这个作者很懒,什么都没留下…
展开
-
随机散列的实现(VB2005)
编写过程序的人都知道,随机散列是我们经常要实现的问题。什么是随机散列?比方说,现在有一个数列1、2、3、4、5、6。我希望得到一个随机的打乱顺序的数列,例如:2,5,6,3,4,1。这个新的数列就是原数列的随机散列。实际情况中,我们经常需要给定一个范围,就能得到一个随机散列。比方说:给定[2,7],通过运算得到一个散列:6,4,5,7,2,3。下面是实现随机散列的一个函数,用的是VB2原创 2009-08-08 14:54:00 · 2963 阅读 · 0 评论 -
全排列的随机散列的实现(VB2005)
在实际的编程中,有时会需要遍历一组数字的全排列,来获得计算的结果。这在解某些最优解的题目的时候,特别有用。例如:现在有4个人去完成4项任务,每人只能完成一项任务,每人完成各个任务的效率都不同。那如何安排才能使得总效率最高?这是一个任务指派的问题,我们可以使用匈牙利法解决,这不是本篇文章的讨论重点,有兴趣的读者可以参看有关文章。如果,我们遍历1-4的全排列,分别求出每种全排列的效率和,然后取最大原创 2009-08-08 15:01:00 · 1573 阅读 · 1 评论 -
遍历组合的实现——VB2005
在数学的统计分支里,排列与组合是一个很重要的分支。在各种实际应用中,排列与组合也扮演了重要的角色。举例来说,安排人员参加活动可以看作是组合的应用。比方说,现在有十个人,选出其中的五个人参加某项集体活动。由于彼此之间有着脾气性格等因素,所以,不同的人员组合有着不同的工作效率。现在,要求你找出效率最高的人员安排。因为选出五人参加活动,没有顺序问题,因此是一个组合的问题。如果说,原创 2009-09-29 09:48:00 · 1918 阅读 · 1 评论 -
遍历排列的实现——VB2005
前两日,写了一篇“遍历组合的实现——VB2005”。在数学分支里,排列与组合是不分家的。于是,动手写下本文。在上一文中,采用了递归调用,虽然便于理解,但是算法的效率上打个折扣。本文一并重写,改为循环调用。代码赋予其后,用的是VB2005两个类,一个是clsPermutation,用来计算排列的;一个是clsCombination,用来计算组合的。下面,把各个函数说明一下。类clsPer原创 2009-10-05 16:20:00 · 2300 阅读 · 3 评论