中介数
组合数学术语
中介数,顾名思义起到中介的作用,是从一个数字到另外一个数字的中间数字。这里说的中介数,特指在组合数学的全排列生成方法中的中介数,它是一个排列与其序号之间桥梁。
定义
在组合数学的全排列生成问题里,一个排列与其序号之间是一一对应的关系,在某些全排列生成算法中,如字典序法等,定义了从序号到排列的构造规则,但是二者之间直接转换比较复杂,因此引入了中介数的概念,中介数顾名思义是起到中介的作用,它的定义如下:
每个排列的序号都可以表示为a1*(n-1)!+a2*(n-2)!+a3*(n-3)!+...+an-1*1!,而a1, a2, a3,...,an-1的某个排列就是该排列的中介数。
说到中介数,则要提到递增进位制数和递减进位制数(Wiki: Decreasing Carry)。
位置计数法
进位制/位置计数法是一种记数方式,故亦称进位记数法/位值计数法,可以用有限的数字符号代表所有的数值。可使用数字符号的数目称为基数(radix)或底数,基数为n,即可称n进位制,简称n进制。现在最常用的是十进制,还有二进制,十六进制,八进制,甚至是七进制。
此外,在进位制中的基数不一定是固定的大小。
在组合数学的全排列生成算法中,中介数分为两类:
性质
中介数有如下的一些性质:
应用
在一些全排列生成算法中,利用中介数来构造排列。例如在字典序法(见全排列)中规定,中介数记录的是当前数字右边比当前数字小的数字的个数,该中介数就是递增进位制数。若使用字典序法来生成1234的全排列,通过中介数(221)↑构造排列的过程如下:
同时可以知道,3421这个排列的序号是2*3!+2*2!+1*1!=11。
在不同的全排列生成算法中,从中介数构造排列的规则是不一样的。
意义
其实中介数体现的是模型转换的思想:当一个问题不好直接求解的时候,可以把它转化为与它等价的一个问题,通过解转换后的问题来得到问题最终的解。这似乎也给我们的生活带来一些启示,当“山穷水复疑无路”,也许换个角度,换个思路,就会“柳暗花明又一村”。
参考资料
最新修订时间:2024-05-21 12:14
目录
概述
定义
位置计数法
参考资料