05-快速排序
Posted 深度学习和机器视觉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了05-快速排序相关的知识,希望对你有一定的参考价值。
快速排序
快速排序(英语: Quicksort). 又称划分交换排序(partition-exchange sort).通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
步骤为:
从数列中挑出一个元素,称为"基准"(pivot),
重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区结束之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。
01-可视化-‘快速排序’
02-快速排序
快速排序时间复杂度
1.最优时间复杂度:O(nlogn) 总共执行n次, 每次是2^? = n, 及logn. so, 等于nlogn
2.最坏时间复杂度:O(n^2).
3.稳定性:不稳定
以上是关于05-快速排序的主要内容,如果未能解决你的问题,请参考以下文章