Quick Sort快速排序
来源:互联网 发布:丝绸之路图书 知乎 编辑:程序博客网 时间:2024/06/10 20:31
快速排序是在面试中经常被问到的排序算法,它的基本思想如下:
public class QuickSort{public static void main(String[] args) {int [] array = {2,4,1,6,8,5,3,7};quickSort(array, 0, array.length-1);}public static void quickSort(int [] array, int start, int end){if(start < end){int partitionIndex = partition(array, start, end);quickSort(array, start, partitionIndex-1);quickSort(array, partitionIndex+1, end);}}public static int partition(int [] array, int start, int end){int pivot = array[end];int partitionIndex = start;for (int i = start; i < end; i++) {if(array[i] <= pivot){int temp = array[i];array[i] = array[partitionIndex];array[partitionIndex] = temp;partitionIndex++;}}int temp = array[partitionIndex];array[partitionIndex] = array[end];array[end] = temp;return partitionIndex;}}
快速排序的分析:
1.快速排序采用了分治的思想
2.是递归的
3.是不稳定的
4.时间复杂度:
平均时间复杂度:O(nlogn) 最坏时间复杂度:O(n^2)
0 0
- 快速排序 Quick Sort
- 快速排序(Quick sort)
- quick sort 快速排序
- 快速排序(Quick Sort)
- 快速排序(Quick Sort)
- Quick Sort (快速排序)
- 快速排序(Quick-Sort)
- 快速排序Quick sort
- 快速排序 (Quick Sort)
- 快速排序(Quick Sort)
- Quick Sort 快速排序
- 快速排序(quick sort)
- 快速排序 quick sort
- 快速排序 quick sort
- 快速排序 quick sort
- Quick Sort快速排序
- 快速排序(quick-sort)
- quick sort 快速排序
- 理解linux0.11加载过程
- Python模块学习--property
- 百度地图定位功能的使用v4.2步骤(笔记)
- 设计模式(3):抽象工厂模式
- jQuery EasyUI — 格式化显示datagrid的numberbox编辑类型
- Quick Sort快速排序
- 同步和异步、阻塞和非阻塞的关系
- mina处理断包和粘包
- 利用C#创建一个简单的Windows服务
- jsp运行(承接上一篇)
- java入门之——对象转型
- 链接警告:warning LNK4070 :/OUT...
- 设计模式(4):模版方法模式
- StrutsTypeConverter的使用