![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
丿旧城以西
这个作者很懒,什么都没留下…
展开
-
JAVA十大排序中的-(基数排序)
前奏基数排序是桶排序升级版,利用桶思想将移动对应的位数放到各个对应的桶中,在取出达到一定次数下就会变成有序列表也是一种空间换时间的思想思路思路: 1:创建一个长度为10的二维数组,代表十个桶 2:然后遍历对应的无序列表移动当前位数按照位数值放入到对应的桶中 ,本次循环无序列表结束后也是放入结束后,然后依次取出 3:重复2步骤直到最大位数移...原创 2020-03-24 21:48:44 · 93 阅读 · 0 评论 -
JAVA十大排序中的-(归并排序)
前奏该算法是采用分治法的典型应用,将一个无序序列分组诺干个,然后对该小组进行排序,排序完以后,将各个小组合并排序比较,直到将诺干个小组组合成一组就是一个有序列表了思路1:将一个无序列表依次的回调拆分成诺干个小组(提示:小组里面的元素可以是一个最多是2个)先将左边的进行拆分合并排序,在执行右边的拆分排序2:然后无法回调的时候就将当前小组内容进行合并排序,然后返回到拆分为当前层的层栈上进行合...原创 2020-03-24 20:00:16 · 306 阅读 · 0 评论 -
JAVA十大排序中的-(快速排序)
前奏前奏:是一种交换式且高效的分治排序算法 简称:快速排序课外 仅供参考如果与一组8000个数据的数组排序的情况下 时间差不多4毫秒不到如果与一组80000个数据的数组排序的情况下 时间差不多50毫秒不到如果与一组800000个数据的数组排序的情况下 时间差不多180毫秒不到如果与一组8000000个数据的数组排序的情...原创 2020-03-24 16:31:28 · 260 阅读 · 0 评论 -
JAVA十大排序中的-(希尔排序)
前奏希尔排序是内部算法,就是将一组无序数据按照一定规律逻辑拆分几小组每小组都会进行一次插入排序思路思路: 1:创建一个 循环每次循环算出指定有多少个小组及对应的步长 2:然后按照索引(步长)开始 该索引下对应的步长范围区域进行插入排序比较课外仅供参考如果与一组8000个数据的数组排序的情况下 时间差不多10毫秒不到如果与一组80000个数据的数...原创 2020-03-24 14:31:20 · 118 阅读 · 0 评论 -
JAVA十大排序中的-(插入排序)
前奏是相当于一种时间复杂度中的平方阶概念的数组排序算法思路思路: 1:创建一个外层循环默认索引从1开始,判断条件直到小于总长度 2:将当前外层循环索引元素存储到一个变量中保存,并将当前外循环索引页保存到一个变量上 3:创建一个内循环while遍历条件 (外循环索引-1>=0)之间中的排好序的索引元素从后往前遍历 4:循环判断当前内循环指定的索引元素与外循环元素...原创 2020-03-24 14:25:33 · 77 阅读 · 0 评论 -
JAVA十大排序中的-(选择排序)
前奏是相当于一种时间复杂度中的平方阶概念的数组排序算法思路思路: 1:创建2个循环一个外循环是循环长度-1次每循环依次比较出指定索引范围里最小值 2:获取当前外循环索引对应的值默认最小元素,然后与内循环中的(外循环索引+1)的索引比较 3:如果比较成功并本次循环比较结束后将获取到的最小元素和索引与当前外层对应的索引元素交换即可课外仅供参考如果与一组8000个...原创 2020-03-24 14:16:26 · 107 阅读 · 0 评论 -
JAVA十大排序中的-(冒泡排序)
前奏是相当于一种时间复杂度中的平方阶概念的数组排序算法思路思路: 1:创建2个循环一个外循环是循环长度-1次每循环依次比较出指定索引范围里最大值 2:内层循环以最开始元素与相依元素比较大小如果后元素比前元素小交换位置 3:每次将本次循环最大值比较出来放到后面元素位置上,下次就无需比较该当前最大位置所以最大长度-1-外循环索引 以此类推 注意:内循环的最大数是长度在...原创 2020-03-24 14:12:19 · 103 阅读 · 0 评论