三向快速排序 2023-10-05 2023-10-06 数据结构与算法 / 排序算法 5 分钟读完 (大约773个字)三向快速排序一、算法描述1.1 核心思想 三分,选取一个分区值,将数据分割成 3 部分:小于、等于、大于 递归,对小于大于两部分继续排序,不断选点分割数据,直到无法分割为止 整个过程和快速排序类似,只是原来的一个分区点变成了一个区间而已 1.2 细节解释 算法, 排序, 三向快速排序 阅读更多
二分插入排序 2023-09-28 2023-10-06 数据结构与算法 / 排序算法 6 分钟读完 (大约845个字)二分插入排序一、算法描述1.1 核心思想 数据分为已排序区间和未排序区间 从未排序区间取出元素,通过二分法找到合适的位置,插入到已排序区间中 插入已排序区间时,同时要保证已排序区间的有序性 总体上和插入排序差不多,只是在插入的时候,使用二分查找来找到合适的插入位置。 1.2 细节解释 算法, 排序, 二分插入排序 阅读更多
堆排序 2023-02-26 2023-10-06 数据结构与算法 / 排序算法 5 分钟读完 (大约761个字)堆排序一、什么是堆排序? 基于堆实现的排序算法 利用堆顶的有序性(最大值或最小值)来实现对数组的排序 二、为什么要用堆排序? 算法, 排序, 堆排序 阅读更多
希尔排序 2022-09-26 2023-10-06 数据结构与算法 / 排序算法 8 分钟读完 (大约1142个字)希尔排序一、什么是希尔排序? 希尔排序是一种基于插入排序进行了优化后的排序算法 希尔排序比普通插入排序更适用于大规模数组排序 二、为什么要用希尔排序? 算法, 排序, 希尔排序 阅读更多
基数排序 2022-09-06 2023-10-06 数据结构与算法 / 排序算法 6 分钟读完 (大约837个字)基数排序一、算法描述1.1 核心思想 数据有高低位之分,位之间有递进关系 高位相等的情况下,才去对比低位大小 按照低位到高位的顺序,使用稳定排序算法对每一位排序 1.2 细节解释 算法, 排序, 基数排序 阅读更多
桶排序 2022-09-05 2023-10-06 数据结构与算法 / 排序算法 6 分钟读完 (大约924个字)桶排序一、算法描述1.1 核心思想 把不同范围的数据划分到不同的桶中 桶与桶之间是有序的,桶间无需排序 只需要对桶内的数据排序 1.2 细节解释 算法, 排序, 桶排序 阅读更多
计数排序 2022-09-05 2023-10-06 数据结构与算法 / 排序算法 7 分钟读完 (大约1112个字)计数排序一、算法描述1.1 核心思想 计数排序是桶大小为 1 的桶排序的一种特殊情况 由于桶大小为 1,所以桶内都是相同的值 桶内都是相同的值,无需桶内排序,只需要记录数据频率 最后排序时,按照数据频率将数据填充回原数组 1.2 细节解释 算法, 排序, 计数排序 阅读更多
归并排序 2022-09-01 2023-10-06 数据结构与算法 / 排序算法 6 分钟读完 (大约970个字)归并排序一、算法描述1.1 核心思想 二分,将数据二等均分,然后分别排序,再合并2个排好序的数据 递归,一直二等均分数据,直到无法分割后,才开始递归合并返回 整个二分和合并的过程类似于一棵二叉树,从下往上合并数据,先对子树排序,再合并成根节点 1.2 细节解释 算法, 排序, 归并排序 阅读更多
冒泡和插入对比 2022-07-21 2023-09-28 数据结构与算法 / 排序算法 2 分钟读完 (大约304个字)冒泡和插入对比一、比较次数冒泡排序比较: 算法, 排序, 冒泡排序, 插入排序 阅读更多