柚子的python学习基地:快速排序
快速排序:
分区交换排序算法,冒泡排序的改进,采用分治策略,
将问题分成若干个规模更小但和原问题相似的子问题,
然后用递归算法解决这些子问题,最终将他们组合成原问题的解
时间复杂度:O(N log2N),最坏情况为待排序序列基本有序,每次只能划分出一个子序列,
等同于冒泡排序,
最坏时间复杂度O(N*N)
空间复杂度:最坏O(N),其他O(log2N)
当基准N选取不合适时,快速排序较慢
步骤:
1》设置两个变量low,high,分别代表待排序序列的起始下标和终止下标
2》设置变量 P = list[low
原创
2020-09-23 16:38:52 ·
126 阅读 ·
0 评论