摘要:
基数排序(桶排序)思路: 将所有带比较的数值统一为同样的长度,数位较短的数前面补0 然后从最低位开始,一次进行一次排序 这样从最低位排序一直到最高位排序完成以后,就会变成一个有序数列 注: 1.基数排序是对桶排序的扩展,速度很快 2.基数排序的排序次数等于最大数的位数 3.基数排序是经典的空间换时间 阅读全文
posted @ 2020-10-11 14:27
Rachel_wangxx
阅读(71)
评论(0)
推荐(0)
摘要:
归并排序思路: 1.将已有的序列划分为两个部分,再划分,再划分,划分成便于比较的长度 2.每个小部分内进行比较交换位置排序 3.变成有序的小部分后,进行合并 4.因合并时需要再次对合并的小部分进行排序,设置一个临时数组存放合并产生的临时序列 5.完全合并完全序列变得有序后将临时数组中的数据复制到原序 阅读全文
posted @ 2020-10-11 13:54
Rachel_wangxx
阅读(81)
评论(0)
推荐(0)
摘要:
希尔排序思想: 1.对数据按照下标的增量进行分组,对组内的数据进行直接插入排序 2.随着增量的逐渐减少,组内的关键词越来越多 3.当增量减至1时,整个数据被分成一组 4.此时数据已经大部分有序,进行一次直接插入排序即可 代码如下: 1 public static void shellSort(int 阅读全文
posted @ 2020-10-11 13:45
Rachel_wangxx
阅读(42)
评论(0)
推荐(0)
摘要:
插入排序思想: 1.将序列分为一个有序序列和一个无序序列,起始时认为arr[0]是一个有序序列,后面的数据是一个无序序列 2.依次将无序序列的头部数据取出,将之与有序序列的尾部进行比较,从后向前遍历有序序列 3.比较过程中比较过后却并不是正确位置时要将比较过后的数进行后移一位,为找到正确位置插入数据 阅读全文
posted @ 2020-10-11 13:28
Rachel_wangxx
阅读(58)
评论(0)
推荐(0)
摘要:
选择排序思路: 1.第一轮选择arr[1]-arr[n-1]中最小的数,与arr[0]交换 2.第二轮选择arr[2]-arr[n-1]中最小的数,与arr[1]交换 3.…… 4.直到得到一个有序序列 代码实现: 1 public static void selectSort(int[] arr) 阅读全文
posted @ 2020-10-11 13:11
Rachel_wangxx
阅读(65)
评论(0)
推荐(0)
摘要:
冒泡排序思路: 1.取数组的第一个数,与其相邻的后一位数进行比较,如果小于后面的数则交换两数的位置,如果小于后面的数则位置不发生变换 2.第一步完成后,再讲第二个数与第三个数进行比较,交换规则同上 3.当遍历到数组的最后一位数时,最大的数已经移位至数组尾部,则确定位置,下轮循环比较的时候经不在比较位 阅读全文
posted @ 2020-10-11 12:58
Rachel_wangxx
阅读(38)
评论(0)
推荐(0)

浙公网安备 33010602011771号