算法复习--快速排序
来源:互联网 发布:matlab合并三个矩阵 编辑:程序博客网 时间:2024/05/16 07:35
快速排序的基本思想:http://www.cnblogs.com/foreverking/articles/2234225.html
有图解。
static void QuickSortAlg(int R[],int low,int heigh){if(low >= heigh || low <0 || heigh<0){return;}int i=0,j=0,t=0;i=low;j=heigh;t=R[i];while(i != j){while(i<j && t<R[j]){j--;}if(i<j){ R[i++]=R[j];}while(i<j && t>R[i]){i++;}if(i<j){ R[j--]=R[i];}}R[i]=t;for(int d = 0;d<8;d++){System.out.print(R[d]+" ");}System.out.println();QuickSortAlg(R,low,i-1);QuickSortAlg(R,i+1,heigh);}
时间复杂度
最好的情况下:因为每次都将序列分为两个部分(一般二分都复杂度都和logN相关),故为 O(N*logN)
最坏的情况下:基本有序时,退化为冒泡排序,几乎要比较N*N次,故为O(N*N)
稳定性 不稳定
由于每次都需要和目标元素交换,因此原来的顺序就可能被打乱。如序列为 5 3 3 4 3 8 9 10 11会将3的顺序打乱。所以说,快速排序是不稳定的
0 0
- 快速排序算法复习
- 算法复习--快速排序
- 算法复习--快速排序
- 复习----快速排序算法
- 算法复习之快速排序
- 排序算法复习(1)-- 快速排序
- 老老实实复习算法: 5 快速排序
- 算法复习(2) 快速排序
- [笔记]算法复习笔记---排序算法(快速排序)
- 复习一下简单的排序算法之 快速排序
- 复习之快速排序
- 复习快速排序
- 快速排序复习
- 快速排序复习
- 复习 冒泡,快速 排序
- 快速排序(quick sort)——数据结构与算法复习
- 一步一步复习数据结构和算法基础-快速排序
- 算法复习——风骚的快速排序
- LeetCode-Simplify Path
- hdu fast food(1227)
- BZOJ 1083: [SCOI2005]繁忙的都市
- 对数组中的自定义的类型根据姓名,年龄排序(升序, 降序)sortedArrayUsingSelector
- OllyDbg 使用笔记 (六)
- 算法复习--快速排序
- Linux命令:netstate
- mysql内连接更新语句
- windows7 下安装 redhat 双系统 easybcd
- poj 1135 Domino Effect 最短路
- Linux命令:ss
- BZOJ 1084: [SCOI2005]最大子矩阵
- linux内核链表使用示例
- Linux命令:telnet