快速排序
快速排序的时间复杂度为O(logn)
注意:快速排序主要是标志数的选取,如果所选的数恰好为最小或者最大,则是最糟糕的情况,即一轮下来数据没有发生变化!
如何选取中间的标志数成为了算法的关键。主要做法有三选一,九选一法。三选一即选取左端、右端和中间三个数进行比较,使用中间的数作为标志数。
九选一即从待排序的所有数中,分三次取样,每次去三个数,三个样品再取中数作为标志数。
设为首页 加入收藏 |
|
当前位置: |
TOP | ||||||||||
c++快速排序原理及优化
|
||||||||||
最新文章 |
热门文章 |
Hot 文章 |
Python | ||||||||||
|
||||||||||
C 语言 | ||||||||||
|
||||||||||
C++基础 | ||||||||||
|
||||||||||
大数据基础 | ||||||||||
|
||||||||||
linux编程基础 | ||||||||||
|
||||||||||
C/C++面试题目 | ||||||||||
|
||||||||||