原文:康托展开和逆康托展开(转)

康托展开和逆康托展开 简述康托展开是一个全排列到一个自然数的双射,常用于构建hash表时的空间压缩。设有n个数 , , , , ,n ,可以有组成不同 n 种 的排列组合,康托展开表示的就是是当前排列组合在n个不同元素的全排列中的名次。 原理X a n n a n n ... a i i ... a 其中, a i 为整数,并且 lt a i lt i, lt i lt n, 表示当前未出现的的元 ...

2019-07-19 22:24 0 536 推荐指数:

查看详情

展开

1.展开的解释 展开就是一种特殊的哈希函数   把一个整数X展开成如下形式:   X=a[n]*n!+a[n-1]*(n-1)!+...+a[2]*2!+a[1]*1!   其中,a为整数,并且0<=a<i,i=1,2,..,n   {1,2,3,4,...,n}表示 ...

Thu Apr 12 05:36:00 CST 2012 2 6146
展开&展开)】

展开   咳咳,首先我们来看看展开的创始人      没错,就是这个老爷子。   他创造这个展开,一般用于哈希(但是我一般用的哈希字符串)在本篇随笔中,它将用来求某排列的排名。(真神奇) 展开实现   首先来一个柿子   看不懂没关系,我们来一个 ...

Wed Jul 24 01:13:00 CST 2019 0 563
展开&展开 的写法

展开 展开解决的是当前序列在全排序的名次的问题。 例如有五个数字组成的数列:1,2,3,4,5 那么1,2,3,4,5就是全排列的第0个【注意从0开始计数】 1,2,3,5,4就是第1个 1,2,5,3,4就是第2个 给定一个序列,怎么确定它的排名呢? 就用到了这样一个 ...

Sun Aug 20 00:35:00 CST 2017 0 1328
算法笔记--展开

X表示一个排列在所有的全排列中排第几个(从0开始)。 X=a[0]*(n-1)!+a[1]*(n-2)!+...+a[i]*(i-1)!+...+a[n-1]*0! ,其中a[i]为在当前未出现的元素中是排在第几个(从0开始)(或者说下标i后面值比i这位置值小的个数),这就是展开 ...

Tue Dec 26 03:02:00 CST 2017 0 1244
展开(有关全排列)

展开:已知一个排列,求这个排列在全排列中是第几个 展开逆运算:已知在全排列中排第几,求这个排列 展开表示的是当前排列在n个不同元素的全排列中的名次。比如213在这3个数所有排列中排第3。 那么,对于n个数的排列,展开为: 其中表示第i个元素在未出现的元素(即 第i位 ...

Sat Aug 12 18:08:00 CST 2017 0 1319
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM