![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
大Damon
这个作者很懒,什么都没留下…
展开
-
7、归并排序(Merge Sort)
将一组数分为两半排序合并这两半数排序分析:时间复杂度:最好:O(nlogn),顺序最坏:O(nlogn),逆序空间复杂度:O(n)稳定代码public static void mergeSort(int[] arr) { if (arr.length == 0) return; int[] result = new int[arr.length]; mergeSort(arr, 0, arr.length - 1, result);}// 对 a.原创 2021-04-15 13:59:39 · 128 阅读 · 0 评论 -
6、快速排序(Quick Sort)
挑一个元素(pivot)【基准值】小于pivot的值放前面,大于pivot的值放后面分析:时间复杂度:最好:O(nlogn),基准值每次为中间值最坏:O(n^2),基准值每次为极值空间复杂度:O(logn)不稳定代码一:public static void quickSort(int[] nums, int left, int right) { if (left >= right) return; int x = left; int y = righ.原创 2021-04-13 19:49:33 · 274 阅读 · 0 评论 -
5、堆排序(Heap Sort)
5、堆排序(Heep Sort)用数列构建出一个大顶堆,取出堆顶的数字;调整剩余的数字,构建出新的大顶堆,再次取出堆顶的数字;循环往复,完成整个排序。分析:时间复杂度:最好:O(nlogn)最坏:O(nlogn)空间复杂度:O(1)不稳定代码public static void heapSort(int[] arr) { // 构建初始大顶堆 buildMaxHeap(arr); for (int i = arr.length - 1;原创 2021-04-07 08:48:03 · 139 阅读 · 1 评论 -
4、希尔排序(Shell Sort)
4、希尔排序(Shell Sort)一种高效的插入排序希尔增量 gap = length / 2魅族进行插入排序分析:时间复杂度:最好:O(nlogn),顺序最坏:O((nlogn)^2),逆序空间复杂度:O(1)不稳定代码public static void shellSort(int[] arr) { // 间隔序列,在希尔排序中我们称之为增量序列 for (int gap = arr.length / 2; gap > 0; gap /= 2)原创 2021-03-24 13:17:57 · 108 阅读 · 0 评论 -
3、插入排序(Insertion Sort)
3、插入排序(Insertion Sort)找到数的位置插入数到已排序序列分析:时间复杂度:最好:O(n),顺序情况最坏:O(n^2),逆序情况空间复杂度:O(1)稳定代码移动元素public static void insertSort(int[] arr) { // 从第二个数开始,往前插入数字 for (int i = 1; i < arr.length; i++) { int currentNumber = arr[i];原创 2021-03-22 09:51:31 · 87 阅读 · 0 评论 -
2、选择排序(Selection Sort)
2、选择排序(Selection Sort)找到最小的元素放到已排序序列的末尾分析:时间复杂度:最好:O(n^2),顺序情况最坏:O(n^2),逆序情况空间复杂度:O(1)不稳定代码public static int[] selectionSort(int[] nums) { if (nums == null || nums.length < 2) { return nums; } // 已排序序列末尾位置 int sm原创 2021-03-21 22:39:46 · 75 阅读 · 0 评论 -
1、冒泡排序(Bubble Sort)
1、冒泡排序(Bubble Sort)比较相邻元素大的元素后置分析:时间复杂度:最好:O(n),顺序情况最坏:O(n^2),逆序情况空间复杂度:O(1)稳定内存交换代码public static void bubbleSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) {原创 2021-03-21 22:17:05 · 370 阅读 · 0 评论