__author__ = "yang xin"array=[]def quickSort(left,right): if left > right: return temp = array[left] i = left j = right while i < j: if array[j] >= te ...
分类:
编程语言 时间:
2018-07-10 11:37:21
阅读次数:
215
要说快排的原理,通俗点说就是把一个事情,分成很多小事情来处理,分治的思想。 假设我们现在对“6 1 2 7 9 3 4 5 10 8”这10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。一般选第一个数6作为基准数。接下 ...
分类:
编程语言 时间:
2018-06-30 14:36:24
阅读次数:
171
快速排序算法 【算法图解】:数据结构教程李春葆版P378 ...
分类:
编程语言 时间:
2018-06-27 21:07:27
阅读次数:
126
相信快速排序算法这种经典的算法大家并不陌生。但是基于快速算法的各种变形,你了解吗? 其中很重要的一种变形就是快速选择算法,<!--?xml version="1.0" encoding="UTF-8"?--> 通常用来在未排序的数组中寻找第k小/第k大的元素。快速选择及其变种是实际应用中最常使用的高 ...
分类:
编程语言 时间:
2018-06-24 17:02:00
阅读次数:
155
快速排序的基本实现 快速排序算法是一种基于交换的高效的排序算法,它采用了分治法的思想: 1、从数列中取出一个数作为基准数(枢轴,pivot)。 2、将数组进行划分(partition),将比基准数大的元素都移至枢轴右边,将小于等于基准数的元素都移至枢轴左边。 3、再对左右的子区间重复第二步的划分操作 ...
分类:
编程语言 时间:
2018-06-19 17:12:11
阅读次数:
189
以下贴出两种实现方式,结果一样,但有些许的差别: 第一种: 第二种: ...
分类:
编程语言 时间:
2018-06-13 11:46:47
阅读次数:
147
简单介绍下 冒泡排序算法、快速排序算法。二分查找算法、线性查找算法 ...
分类:
编程语言 时间:
2018-06-01 13:19:37
阅读次数:
151
算法: 1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3.再对左右区间重复第二步,直到各区间只有一个数。 动画演示: ...
分类:
编程语言 时间:
2018-05-26 23:27:31
阅读次数:
308
第一节讲的计数排序有很好的运行时间表现,但因为占用空间的问题,只适用于数字非常有限的情况;
第二节讲的冒泡排序解决了计数排序空间的问题,但时间复杂度却变成了O(n^2)。
对此的优化引出了快速排序。
分类:
编程语言 时间:
2018-05-19 19:41:57
阅读次数:
220
3047: 快速排序算法 Description 设计一个程序,实现快速排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。 设计一个程序,实现快速排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。 Input Output 每个排序过程输出一行,直到排序完成。 ...
分类:
编程语言 时间:
2018-05-12 11:12:12
阅读次数:
218