算法学习笔记--排序之快速排序
来源:互联网 发布:java怎么写图形界面 编辑:程序博客网 时间:2024/04/28 08:32
算法学习笔记–排序之快速排序
定义
快速排序使用了分而治之的策略。
使用分而治之解决问题的两个步骤?
- 找出停止条件,这种条件尽可能简单。
- 不断将问题分解(或者说缩小规模),直到符合停止条件。
实现
def quick_sort(array): if len(array) < 2: return array else: pivot = array[0] print "pivot: ", pivot less = [i for i in array[1:] if i <= pivot] print "less: ", less greater = [i for i in array[1:] if i > pivot] print "greater: ", greater return quick_sort(less) + [pivot] + quick_sort(greater)if __name__ == '__main__': list1 = [4, 3, 2, 1, -2, 3, 5, 3] print list1 print quick_sort(list1)
运行结果
[4, 3, 2, 1, -2, 3, 5, 3][-2, 1, 2, 3, 3, 3, 4, 5]
1 0
- 算法学习笔记--排序之快速排序
- 算法导论学习笔记(一)排序算法之快速排序
- 算法学习笔记之快速排序
- 算法导论之快速排序---学习笔记
- 算法学习笔记之快速排序
- 算法学习之排序算法:快速排序
- 算法学习之排序:快速排序算法
- 排序算法学习之快速排序算法
- 算法学习笔记----快速排序
- 算法学习笔记----快速排序
- 快速排序算法学习笔记
- 快速排序算法学习笔记
- 算法笔记之快速排序
- Java学习笔记排序算法-----------快速排序
- 排序算法之快速排序笔记
- 算法学习之快速排序
- 算法学习之快速排序
- 经典算法学习:排序之快速排序
- C++ using关键字作用总结
- 发布项目全过程
- Windows Apache Vhost 分析
- Vijos P1217 乒乓球【模拟+输入输出】
- Linux下mysql的安装
- 算法学习笔记--排序之快速排序
- Python 3基础教程31-urllib模块
- 链表面试题----判断一个单链表是否带环,若带环,求入口点和环的长度
- MySql查询之会员名速查
- Scrapy下载图片的DEMO(Python)
- 在JavaScript中值类型和引用类型的区别
- C++ 多线程
- 解决Python字符串问题:UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 剑指offer习题JAVA实现(三)