• 随机化算法(二)


    随机化算法

    1. 随机化快排

    将数组元素划分为 3 个子数组:

    • A:包含比枢轴元素小的元素;
    • B:包含与枢轴元素相等的元素;
    • C:包含比枢轴元素大的元素;

    定理1 设数组含 n 个不同元素,随机快速排序算法的期望比较次数:

    T(n)2nlnn

    也即 T(n)=O(nlnn)(与确定型快排相一致)

    首先来考验算法执行的流程,1. 选定枢轴(pivot)元素,2. 其余 n-1 个元素都要与其比较,以决定在子数组 ABC 的归属;

    T(n)=n1+1ni=0n1(T(i)+T(ni1))

    等式的左端是函数,等式的右端仍然出现该函数,显然是递归调用。

    又易知,i=0n1(T(i)+T(ni1))=2iT(i)

    T(n)=n1+2ni=0n1T(i)

    此时利用数学归纳法:

    T(n)=n1+2ni=0n1T(i)n1+2ni2ilni使n1+2nn12xlnxdxn1+2n(n2lnnn22+12)2nlnn

  • 相关阅读:
    代理支持
    CGI
    SSI(服务器端嵌入)
    SSL/TLS 配置
    JSPs
    类加载机制
    JDBC 数据源
    安全管理
    Realm 配置
    Js将序列化成Json格式后日期(毫秒数)转成日期格式
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9422897.html
Copyright © 2020-2023  润新知