zoukankan      html  css  js  c++  java
  • N 个互异数的数组的平均逆序数

    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表示逆序数的个数)而言,平均的时间复杂度是二次的,同时也提供了只交换相邻元素的任何算法的一个很强的下界

  • 相关阅读:
    端模板引擎
    Orcale Function Sequence
    OData 集成
    validate[.unobtrusive]和Bootstrap实现tooltip错误提示
    Django
    Web Api 控制器
    HelloWorld和数据绑定
    动态Web Api层
    用户管理
    Docker
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9423493.html
Copyright © 2011-2022 走看看