快速排序之python实现
来源:互联网 发布:ssh 指定端口号 编辑:程序博客网 时间:2024/06/02 04:42
快速排序的基本思想:设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。
快速排序的平均时间复杂度是:O(n)=nLog(n)
def quick_sort(lists,begin,end): if begin>=end: return lists keys=lists[begin] #随机选择一个比较的枢轴值,这里选择了第一个 low=begin high=end while begin<end: while begin<end and lists[end]>=keys: end-=1 lists[begin]=lists[end] while begin<end and lists[begin]<=keys: begin+=1 lists[end]=lists[begin] lists[begin]=keys quick_sort(lists,low,begin-1) quick_sort(lists,begin+1,high) return listsif __name__ == "__main__": lists=[10,9,8,7,6,5,4,3,2,1] print("sort before:") for i in lists: print(i) quick_sort(lists,0,len(lists)-1) print("sort after:") for i in lists: print(i)
0 0
- 快速排序之python实现
- Python之快速排序算法实现(一)
- Python之快速排序算法实现(二)
- 算法:快速排序之python实现
- 快速排序Python实现
- python实现快速排序
- Python实现快速排序
- python 实现快速排序
- Python实现快速排序
- 快速排序Python实现
- python实现快速排序
- Python实现快速排序
- python实现快速排序
- python 实现快速排序
- Python实现快速排序
- python实现快速排序
- Python实现快速排序
- python实现快速排序
- VSCode python环境运行搭建
- Spring4深入理解IOC&DI02----Bean配置--自动装配、bean之间的继承与依赖、使用外部属性文件
- java 将list转换为map 的泛型通用方法
- 用C#和vs2015编写了一个简单音乐播放器,实现功能,多条音乐导入,播放、暂停、上下曲。采用vs2105自带的一个播放器控件
- 欢迎使用CSDN-markdown编辑器
- 快速排序之python实现
- codeforces B. Memory and Trident
- Goroutines vs Threads
- EasyUI学习第五篇:Datagrid数据表格
- freeMarker学习(二)
- js获取url中的中文参数出现乱码解决
- 项目的开发架构
- mysql、zookeeper、redis和elasticsearch主从同步机制
- 校招面试之——网络相关