随笔分类 - 算法
笔记
摘要:基数排序 基数排序(radix sort)又称桶排序(bucketsort),相对于常见的比较排序,基数排序是一种分配式排序,即通过将所有数字分配到应在的位置最后再覆盖到原数组完成排序的过程。我在上一篇讲到的计数排序也属于这种排序模式,上一篇结尾处提到了计数排序的稳定性,即排序前和排序后相同的数字相
阅读全文
摘要:归并排序 基本思想:将初始序列中的n个对象,看成n个长度为1的有序子序列,先做两两归并,得到int(n/2)个长度为2的归并项(如果n为奇数,则最后一个有序子序列为1);在做两两归并,重复直到最后得到一个长度为n的有序序列。 图解: 代码实现: public class MergeSort{ //归
阅读全文
摘要:直接选择排序 第 i 次选取从 i 到 sorted.length - 1 之间的最小值 与 sorted[i] 进行位置交换(数组名为sorted) 堆排序 详细原理 https://blog.csdn.net/u010452388/article/details/81283998 代码实现: p
阅读全文
摘要:代码实现 public class SwapSort{ //冒泡排序(升序) public static void bubbleSort(int[] sorted){ int sortedLen = sorted.length; //外层循环趟数 for(int i = 0;i < sortedLe
阅读全文
摘要:1.原理 直接插入排序 将一个待排序的数据按照大小插入到前面已经排好序的适当位置,直到全部数据插入完成为止。 (此图摘自 https://blog.csdn.net/weixin_42109012/article/details/91478883 如有侵权,联系立删) 希尔排序 将整个无序列分割成若
阅读全文