快速排序--Python实现
2024-09-03 06:53:43
快速排序算法:
1、选择一个基准数
2、小于基准数的放左边,大于基准数的放右边
3、利用递归的方法针对左边的数据进行快速排序,再对右边的数据进行快速排序
4、递归停止的条件:数组为空或者只有一个元素 时间复杂度为:O(nlogn),远小于选择排序
def quick_sort(list):
if(len(list) < 2):
return list
else:
base = list[0]
less = [i for i in list[1:] if i <= base]
greater = [i for i in list[1:] if i > base]
return quick_sort(less) + [base] + quick_sort(greater) if __name__ == "__main__":
list = [32, 13, 28, 5, 23, 56, 12, 78, 34]
result = quick_sort(list)
print(result)
最新文章
- iOS开发之多种Cell高度自适应实现方案的UI流畅度分析
- WinServer2003 文件夹共享 方法设置
- ECMA中的switch语句
- Spring中的SPEL
- ArrayList、HashTable、List、Dictionary的演化及如何选择使用
- Android selector item 属性大全(按钮按下不同效果)
- linux内存查看
- CentOS 安装jdk1.7 64位
- js内置对象处理-打印学生成绩单
- 最近在无线USB网卡投入比较大
- 第六次meeting会议
- 团队作业4——第一次项目冲刺(Alpha版本)11.18
- maven学习--1.项目结构及简单使用
- Java多线程(四)java中的Sleep方法
- hdoj:2028
- 初识Java框架
- ZOJ 1985 Largest Rectangle in a Histogram(刷广告)2010辽宁省赛
- 如何使用g++编译调用dll的c++代码
- pointcloud(点云)与mesh(面元)模型的区别
- Solr之functionQuery(函数查询)
热门文章
- java 获取的是本地的IP地址
- PHP FILTER_SANITIZE_STRIPPED 过滤器
- J2EE学习篇之--JDBC详解
- error LNK2019: 无法解析的外部符号 ";__declspec(dllimport) long __stdcall RtlGetVersion(struct _OSVERSIONINFOW
- Java-Class-FC:java.lang.StringBuilder
- mybatis 丢失字段
- VS2010 下C++使用UTF8编码
- csdn左侧个人栏目美化,css英文颜色大全,跑马灯效果,点击转到qq联系,点击转到发送邮件。
- Xen的半虚拟化(Paravirtualization)
- 安装jdk 并放在 /usr/java/default 目录下