Python:快速排序算法
来源:互联网 发布:app理财软件 编辑:程序博客网 时间:2024/06/11 14:31
快速排序:空间复杂度为O(log n),时间复杂度为[O(n log n), O(n^2)],算法不稳定,不具有适应性
1、从序列中取出一个数作为基准数
2、分区,比基准数大的放基准数右边,小的放左边
3、递归,重复第二步操作,直到基准数的左边和右边分别只剩一个数
算法的稳定性是指:对于待排序的序列中,相同项的原来次序不能被改变
算法的适应性是指:算法因为原序列有序而更高效
def quick_sort(lst, l, r): if l > r: return i, j = l, r pivot = lst[i] while i < j: while i < j and lst[j] >= pivot: j -= 1 if i < j: lst[i] = lst[j] i += 1 while i < j and lst[i] <= pivot: i += 1 if i < j: lst[j] = lst[i] j -= 1 lst[i] = pivot quick_sort(lst, l, i-1) quick_sort(lst, i+1, r) print lst
阅读全文
0 0
- Python快速排序算法
- Python:快速排序算法
- Python快速排序算法
- Python排序算法-快速排序
- 排序算法(python)-快速排序
- Python实现快速排序算法
- python实现快速排序算法
- python实现快速排序算法
- python实现快速排序算法
- python快速排序算法实现
- python实现快速排序算法
- Python版快速排序算法
- Python算法 归并排序和快速排序
- python实现排序算法一:快速排序
- 排序算法C++ && Python实现---快速排序
- python算法实践4-快速排序
- python算法--快速排序详细实现
- python写算法之快速排序
- SIP笔记
- ECharts 仪表盘改变颜色
- 使用Go开发gRPC
- 安卓端使用plus.runtime.restart();出现白屏的解决方案
- docker server gave HTTP response to HTTPS client
- Python:快速排序算法
- 移动端android上line-height不居中的问题
- HDU 2066-一个人的旅行(Floyd任意两点最短路)
- 分页
- java集合
- 【bzoj3714】[PA2014]Kuglarz
- 动态更换地形纹理图
- expandableListview
- openwrt开发板串口测试总结