![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
稳定的排序算法
waS_TransvolnoS
写过两行bug,尘世间一个迷途小码农。
展开
-
从零单刷数据结构(Java描述)(十八)——排序之基数排序(桶排序)
基数排序(radix sort),又称桶排序(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用。如先按个位排,再将元素按十位排,再将元素按百位排…直到达到最高位。基数排序法是属于稳定性的排序,其时间复杂度为O (nlog®m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法。 ...原创 2019-06-12 20:57:52 · 112 阅读 · 0 评论 -
从零单刷数据结构(Java描述)(十二)——排序(交换排序)之冒泡排序
冒泡排序(Bubble Sort)是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 import java.util.Arrays; class BubbleSort{ public static void main(String[] args) { int[]arr=new int[]{5,3,1,2,4}; ...原创 2019-06-07 17:01:27 · 91 阅读 · 0 评论 -
从零单刷数据结构(Java描述)(十四)——排序(插入排序)之直接插入排序
直接插入排序(Straight Insertion Sort)的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表。算法复杂度O(n^2),稳定的排序算法。 //插入排序 public static void insertSort(int[]arr) { //遍历所有的数字 for(int i=1;i<arr.le...原创 2019-06-07 17:54:57 · 83 阅读 · 0 评论 -
从零单刷数据结构(Java描述)(十六)——排序(选择排序)之简单选择排序
简单选择排序(Simple Selection Sort)就是通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)个记录交换之。算法复杂度O(n^2),一种稳定的排序算法。 //选择排序 public static void selectSort(int[]arr) { //遍历所有的数 for (...原创 2019-06-08 17:54:37 · 100 阅读 · 0 评论 -
从零单刷数据结构(Java描述)(十七)——排序之归并排序
归并排序(Merging Sort)原理是假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后不断归并(两个序列互相比较,小的元素排前面,最后归并成一个有序的序列),不断递归,直到得到一个长度为n的有序序列。这种排序方法称为两路归并排序,是一种稳定的排序方法,复杂度O(nlogn); //归并排序 public static void mergeSort...原创 2019-06-11 21:50:23 · 106 阅读 · 0 评论