zoukankan      html  css  js  c++  java
  • Algs4-2.3.11快排遇与切分值相同时继续扫描是平方级

     2.3.11假如在遇到和切分元素重复的元素时我们继续扫描数组而不是停下来,证明使用这种方法的快速排序在处理只有若干种元素值的数组时的运行时间是平方级别的。

    答:在有重复元素的情况下,一轮比较与交换后,与切分元素同值的元素仍就保持在原有位置,切分元素移动到分界位置,得到的排序结果为左子数组<=切分元素<=右子数组元素,这种情况下切分元素的同值元素在左右子数组中都会出现,那么排序一定大于lgN轮;当元素值的种类较少并且遇到和切分元素重复时,出现左子数组为空或右子数组为空的概率高,那么排序需要的比较次数接近于快速排序最多的情况(N+1)N/2,所以运行时间是O(N^2)。

  • 相关阅读:
    BZOJ
    Codeforces
    GYM
    UOJ
    Java集合之Queue
    【HIHOCODER 1478】 水陆距离(BFS)
    Java集合之Stack
    Java集合之Vector
    Java多线程入门Ⅱ
    【HIHOCODER 1604】股票价格II(堆)
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9860215.html
Copyright © 2011-2022 走看看