博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
N 个互异数的数组的平均逆序数
阅读量:4965 次
发布时间:2019-06-12

本文共 491 字,大约阅读时间需要 1 分钟。

N 个互异数的数组的平均逆序数为 N(N1)/4

1. 简单证明

对于任意的数的表 L(5,8,9,6,4),以及其反序表 Lr(4,6,9,8,5),它们各自的逆序数分别为:6 ((5, 4), (8, 6), (8, 4), (9, 6), (9, 4), (6, 4)),4((6, 5), (9, 8), (9, 5), (8, 5))。也即表与其反序表的逆序数之和为 6+4=10,恰好是元素总数 5 关于 2 的排列数,(52)=10

因为任意一对数(x,y)且x在前又x>y的情况(逆序数的定义)一定会在二表之一中,所以可以说一个互异数表与其反序表的逆序数之和一定是N(N-1)/2,也就是说任意一个互异数表的平均逆序数为 N(N-1)/4.

2. 基于相邻元素交换的排序算法的下界

上述定理意味着,对于插入排序(基于逆序数的个数 O(I+N),N 表示遍历,I表示逆序数的个数)而言,平均的时间复杂度是二次的,同时也提供了只交换相邻元素的任何算法的一个很强的下界

转载于:https://www.cnblogs.com/mtcnn/p/9423493.html

你可能感兴趣的文章
【Foreign】登山 [DP][数学]
查看>>
【codeforces】【比赛题解】#948 CF Round #470 (Div.2)
查看>>
关于实现线程死锁的一个例子
查看>>
FMDB保存数据小数
查看>>
JAVA中抽象类的一些总结
查看>>
分页, 解析器, 渲染器
查看>>
fedora输入法
查看>>
关于数组去重的几种方法-------javascript描述
查看>>
Vue.js系列之三模板语法
查看>>
hihoCoder #1238 Total Highway Distance
查看>>
JAVA基础(7)-数组的排序
查看>>
JFinal使用笔记1-部署demo项目到本地tomcat
查看>>
php 有时候难以输出显示的信息可以用ob缓冲区来做
查看>>
挖地雷
查看>>
luogu P2617 Dynamic Rankings(主席树)
查看>>
MongoDB 安装与配置
查看>>
Linux 常用命令
查看>>
MySQL查询
查看>>
MongoDB(四)——管理架构
查看>>
Python用subprocess的Popen来调用系统命令
查看>>