应用康托展开求解指定串在全排序中的顺序及通过顺序求解指定串
康托展开
康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。
求解指定串在全排序中的顺序
比如串 “cdba”
排列c时,未出现的字符包括 a b d, c在其中排第2位(从0开始计算): 2 * 3!
排列d时,未出现的字符包括 a b,d在其中排第2位:2 * 2!
排列b时,未出现的字符包括a, b在其中排第1位: 1 * 1!
排列a时,全都已经出现,a排在第0位: 0 * 0!
因此 2 * 6 +
原创
2020-11-01 22:41:01 ·
239 阅读 ·
0 评论