美文网首页
排序总结

排序总结

作者: 青漾 | 来源:发表于2021-07-22 11:14 被阅读0次
    各种排序方式总结

    如何优化快速排序?

    我们先来看下,为什么最坏情况下快速排序的时间复杂度是 O(n2) 呢?我们前面讲过,如果数据原来就是有序的或者接近有序的,每次分区点都选择最后一个数据,那快速排序算法就会变得非常糟糕,时间复杂度就会退化为 O(n2)。实际上,这种 O(n2) 时间复杂度出现的主要原因还是因为我们分区点选的不够合理。]

    1. 三数取中法

    我们从区间的首、尾、中间,分别取出一个数,然后对比大小,取这 3 个数的中间值作为分区点。这样每间隔某个固定的长度,取数据出来比较,将中间值作为分区点的分区算法,肯定要比单纯取某一个数据更好。但是,如果要排序的数组比较大,那“三数取中”可能就不够了,可能要“五数取中”或者“十数取中”。

    2. 随机法

    相关文章

      网友评论

          本文标题:排序总结

          本文链接:https://www.haomeiwen.com/subject/lnuemltx.html