![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
文章平均质量分 96
kekeoneone
offeroffer
展开
-
八大排序复习
1.堆排 实现思路: 1.构建堆; 2.和最后一个值进行交换; 3.修改剩余的堆; 4.循环上述操作。 代码: // 堆排序额外空间复杂度O(1) public static void heapSort(int[] arr) { if (arr == null || arr.length < 2) { return; } // O(N*logN) // for (int i = 0; i < arr.le原创 2020-12-07 20:55:23 · 125 阅读 · 0 评论 -
堆排序
大顶堆;降序 小顶堆;升序 排序思路; 1.先构建一颗顶堆树,从最后一个非叶子结点开始。(从左至右,从上至下) 2.使顶元素和最后一个元素进行交换,并再次替换形成新的顶堆。重复。 public static void heapSort(int []arr){ int temp=0; System.out.println("堆排序:"); //1.将无序序列构建成...原创 2020-03-25 11:00:56 · 56 阅读 · 0 评论 -
基数排序(桶排序)
1。什么是基数排序(radix sort)? 基数排序 属于分配式排序(distribution sort),又称“桶排序”(bucket sort),它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用。 2.它和归并一样,属于稳定型算法。 ...原创 2020-03-21 20:00:40 · 310 阅读 · 0 评论 -
归并排序
分治: //分+合并 public void mergeSort(int []arr,int left,int right,int[] temp){ if(left<right){ int mid=(left+right)/2; //中间索引 //向左递归 mergeSort(arr...原创 2020-03-21 16:57:52 · 60 阅读 · 0 评论 -
快速排序
快速排序是对冒泡排序的改进。 思想: 通过一趟排序把要排序的数分为两部分呢,其中一部分的所有数据比另一部分的所有数据都要小。 然后按照此方法,对两部分数据分别进行快速排序,整个过程可以递归进行。 public void quickSort(int[] arr,int left,int right) { int l=left; int r=right; ...原创 2020-03-21 15:08:32 · 92 阅读 · 0 评论 -
希尔排序
log(2n) 2.分析: 简答插入排序时,当插入的数很小时,需要移动很多次,影响效率。比如如图最后的0. 注意: **希尔排序也是插入排序。**改进版 利用步长 2.两种方式: 交换法 移位法 代码: //交换法: public void shellSort(int []arr) { int temp=0; for(int gap=arr.length/2;gap>0;g...原创 2020-03-21 11:55:28 · 150 阅读 · 0 评论 -
插入排序
O(n) Date ——getTime(获取毫秒级) 直观体验速度 package com; import java.lang.reflect.Array; import java.util.Arrays; import java.util.Date; public class choose { public static void main(String[] args) { ...原创 2020-03-21 10:41:44 · 71 阅读 · 0 评论 -
选择排序
O(n2) package com; import java.util.Arrays; public class choose { public static void main(String[] args) { int [] arr={1,2,5,3,7,4}; for(int i=0;i<arr.length-1;i++){ ...原创 2020-03-21 09:46:20 · 67 阅读 · 0 评论 -
冒泡排序
1.冒泡排序:O(n2) package com; import java.util.Arrays; public class Bubble { public static void main(String[] args) { int []arr={1,3,4,2,6}; for(int i=0;i<arr.length;i++){ ...原创 2020-03-20 23:10:27 · 46 阅读 · 0 评论