康托展开式

原创 2013年12月02日 10:07:03
格式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0!
康托展开式用途:
       1:康托展开式是一个全排列到自然数双射(两个集合之间一一对应),常用于构建Hash表时候的时空压缩。
       2:康托展开式可用于计算当前按某一全序关系全排列中的位置,因此可逆。

对于第一条不多加解释,现在着重解释第二条。这里注意一点,康托展开式一般用在序列中所有元素不重复的情况。而重复的情况下,需要稍作调整(具体例子具体分析)。

举例
               3 5 7 4 1 2 9 6 8 展开为 98884。
               因为  X=2*8!+3*7!+4*6!+2*5!+0*4!+0*3!+2*2!+0*1!+0*0!=98884.

解释:

          排列的第一位是3,比3小的数有两个,以这样的数开始的排列有8!个,因此第一项为2*8!

          排列的第二位是5,比5小的数有1、2、3、4,由于3已经出现,因此共有3个比5小的数,这样的排列有7!个,因此第二项为3*7!

          以此类推,直至0*0!

     在这个例子中,全序关系为自然数大小的关系。其中第i个位置的权重为i!。每个位置的系数为当前位置逆序奇偶的个数。计算出来的康托展开式结果为该序列在按从大到小全排列中的位置(由于序列中每个数字都不同,所以得出的结构唯一。)。

康托展开式逆运算:
     可以利用康托展开式的结果直接定位某一排列在全排列中的位置,进而求出该全排列。


注:本文来自维基百科,并加入了自己的一些理解。
http://zh.wikipedia.org/wiki/%E5%BA%B7%E6%89%98%E5%B1%95%E5%BC%80






























相关文章推荐

算法:康托展开式——实现全排列序列与序号的映射

康托展开式实现了由1到n组成的全排列序列到其编号之间的一种映射,下面会给出例子,虽然这个公式应用不是很多,但这种思想值得学习,首先给出其公式: X=an*(n-1)!+an-1*(n-2)!+...+...

UVa 11525 - Permutation (线段树 树状数组 康托展开式)

UVA - 11525 Permutation Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld &...

康托逆展开式

关于康托展开式的问题我已经在第一篇文章提到了,需要的朋友可以点进去看看。 ACM题目之排列序数 康托逆展开式就是给你一个数组,然后让你求出其全排列第n大的序列. 这里借用百度百科给的大家解释下 ...

算法之康托展开式

康托展开式: X=an*(n-1)!+(an-1)*(n-2)!+...+ai*(i- 1)!+...+a2*1!+a1*0! (解决一些序列问题的算法)    其中...

蓝桥杯模拟赛--康托展开式--全排列(不重复数据)

题目是这样的: 标题: 排列序数 X星系的某次考古活动发现了史前智能痕迹。 这是一些用来计数的符号,经过分析它的计数规律如下: (为了表示方便,我们把这些奇怪的符号用a~q代替) abcdefghi...

hdu1430 魔板 (BFS+康托展开式)

魔板 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm...

算法之康托展开式(正规)

康托展开  康托展开的公式是 X=an(n-1)!+an-1*(n-2)!+…+ai*(i-1)!+…+a2*1!+a1*0!* 其中,ai为当前未出现的元素中是排在第几个(从0开始)。     ...

康托展开式---我排第几+逆康托展开

之前一直不想看这个康托展开定理因为真的很不理解,但是现在还是勇敢的面对了~  {1,2,3,4,...,n}表示1,2,3,...,n的排列如 {1,2,3} 按从小到大排列一共6个。123 1...
  • meme_y
  • meme_y
  • 2013年04月05日 20:53
  • 486

展开式二级圆柱齿轮装配图

  • 2013年10月24日 22:42
  • 281KB
  • 下载

高等数学:第十一章 无穷级数(2)函数的幂级数展开式、傅里叶级数

§11.5  函数展开成幂级数 一、泰勒级数 如果在处具有任意阶的导数,我们把级数     (1) 称之为函数在处的泰勒级数。 它的前项部分和用记之,且 这里: 由上册中介绍的泰勒中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:康托展开式
举报原因:
原因补充:

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