![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
你始终一个人
雨纷纷,旧故里草木深
我听闻,你始终一个人
展开
-
归并排序java实现
算法思想 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。 算法步骤 1.分为两组,分别对两组排序,在对子数组排序的时候可能又要分而治之,当数组长度为1时不再分, 2.合并,两个子数组,盗图解释一下。。 ...原创 2019-07-23 16:55:05 · 112 阅读 · 0 评论 -
计数排序
算法描述 1.根据待排序集合中最大元素和最小元素的差值范围,申请额外空间; 2.遍历待排序集合,将每一个元素出现的次数记录到元素值对应的额外空间内; 3.对额外空间内数据进行计算,得出每一个元素的正确位置; 代码 import java.util.Arrays; public class CountSort { public static void main(String[] args)...原创 2019-07-23 18:50:09 · 83 阅读 · 0 评论 -
插入排序java实现
思想 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 算法步骤 1.从第一个元素开始,该元素可以认为已经被排序; 2.取出下一个元素,在已经排序的元素序列中从后向前扫描; 3.如果该元素(已排序...原创 2019-07-22 10:22:44 · 88 阅读 · 0 评论 -
希尔排序java实现
思想 shell排序是对直接插入排序的改进,我们已经知道,直接插入排序的复杂度受本身序列的有序程度影响,当数组已经有序,则每次查找插入的位置时间O(1),总的复杂度O(n),而当逆序对较多时,或者全部全部逆序时,复杂度为O(n^2)。所以希尔排序的思想是先优化子序列的有序程度,慢慢增大序列长度,最后对整个数组排序。 步骤 1、确定增量序列 2、按照增量序列分组,对每组进行直接插入排序(以第一个子序...原创 2019-07-22 13:07:53 · 134 阅读 · 0 评论 -
简单选择排序
算法思想 简单选择排序跟冒泡和直接插入一样简单的排序算法。 从待排序列中找一个最小的,放到已经排序的末尾。直接看代码 代码实现 public class SelectionSort { public static void main(String[] args) { int[] a={100,50,9,3, 4, 10, 3, 6, 7, 4, 1, 2}; ...原创 2019-07-22 15:00:48 · 73 阅读 · 0 评论 -
堆排序java实现
网上很多堆排序都有问题,我写的这个我测试是没问题的,如果有问题请指出! 算法思想 堆排序是利用堆这个数据结构,堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆这个等我写完排序再看。 算法步骤 1.将初始待排序关键字序列(R1,R2….Rn)构建成大顶堆,此堆为初始的无序区; 2.将堆顶元素R[1]与最后一个元素R[n]交换,此时得到新的无...原创 2019-07-22 19:25:04 · 109 阅读 · 0 评论 -
快速排序
快速排序的基本思想 : 通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 算法描述: 选择基准 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。 代码实现...原创 2019-07-19 10:33:56 · 85 阅读 · 0 评论 -
冒泡排序
原理 每次比较两个相邻的元素,将较大的元素交换至右端。 步骤 每次冒泡排序操作都会将相邻的两个元素进行比较,看是否满足大小关系要求,如果不满足,就交换这两个相邻元素的次序,一次冒泡至少让一个元素移动到它应该排列的位置,重复N次,就完成了冒泡排序。 代码实现(java) import java.util.Scanner; public class bubbleSort { public s...原创 2019-07-19 18:05:44 · 371 阅读 · 0 评论