排列逆序数和计算
来源:互联网 发布:电信光纤网络优化大师 编辑:程序博客网 时间:2024/05/29 13:05
一. 排列的逆序与逆序数
逆序: 取一个排列为标准排列, 其它排列中某两个元素的次序与标准排列中这两个元素的次序相反时,则称这两个元素构成一个逆序.逆序数: 一个排列中所有逆序总数叫做这个排列的逆序数. (注意是一个排列)
逆序数为偶数称为偶排列, 逆序数为奇数称为奇排列, 标准排列规定为偶排列.
通常取从小到大的排列为标准排列, 即 1 ~ n的全排列中取123...(n - 1)n为标准排列.
例: 123全排列的逆序数全排列逆序数逆序对 1230(排列123的逆序数为0)132132(排列132的逆序数为1)213121....231221, 31312231, 32321332, 31, 21例: 1234全排列的逆序数全排列逆序数逆序对1 2341 243431 324321 34232, 421 42342, 431 43242, 432 134212 14321, 432 31421, 312 34121, 31, 412 41321, 41, 432 43121, 41, 433 12431, 323 14231, 32, 423 21431, 32, 213 24131, 32, 21, 413 41231, 32, 41, 423 42131, 32, 41, 42, 214 12341, 42, 434 13241, 42, 43, 324 21341, 42, 43, 214 23141, 42, 43, 21, 314 31241, 42, 43, 31, 324 32141, 42, 43, 32, 31, 21
http://www.tongji.edu.cn/~math/xxds/kcja/kcja_b/1-2.htm
二. 逆序数的计算
方法1: 直接遍历比较int IinvertedSequence(char* pData, int nLen){int nCount = 0;int i, j;for(i = 0; i < nLen; ++i){for(j = i + 1; j < nLen; ++i){if(pData[i] > pData[j]){++nCount;}}}return nCount;}
0 0
- 排列逆序数和计算
- 全排列和逆序数
- 排列的逆序数
- 全排列及其逆序数
- 求排列的逆序数
- 求排列的逆序数
- 求排列的逆序数
- 求排列的逆序数
- 求排列的逆序数
- 计算逆序数
- 计算逆序数对
- 排列数的计算
- 计算逆序数:在归并和快排两种排序过程中求得逆序数的方法比较
- 逆序数的拆分计算
- 逆序数的拆分计算
- 多排列的最大逆序数问题
- 求排列的逆序数<归并><C++>
- 百练 求排列的逆序数
- 外语学习的一些心得体会
- 九度OJ 1013
- 软测之魂核心测试设计精解
- mybatis源码阅读心得
- 在 github 上获取源码
- 排列逆序数和计算
- iOS程序性能优化
- java.util.Scanner应用详解
- hdu 1159 Common Subsequence (求LCS的长度)
- 凌度多功能后视镜行车记录仪HS850B 多重守护行车安全
- 压缩和解压缩ZIP文件
- HBase总结(十九)数据导入方式
- LEETCODE: Reverse Nodes in k-Group
- unity之增删改查