随笔分类 -  排序算法

摘要:常用排序算法总结和对比 一张排序算法的比较图 相关术语解释 稳定:如果 a 原本在 b 前面,而 a=b,排序之后 a 仍然在 b 的前面; 不稳定:如果 a 原本在 b 的前面,而 a=b,排序之后 a 可能会出现在 b 的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把 阅读全文
posted @ 2022-05-30 22:50 xugeA 阅读(20) 评论(0) 推荐(0) 编辑
摘要:基数排序 基数排序(桶排序)介绍: 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或 bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用 基数排序法是属于稳定性的排 阅读全文
posted @ 2022-05-30 22:48 xugeA 阅读(92) 评论(0) 推荐(0) 编辑
摘要:归并排序 归并排序介绍: 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer) 策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 阅读全文
posted @ 2022-05-30 21:53 xugeA 阅读(51) 评论(0) 推荐(0) 编辑
摘要:快速排序 快速排序法介绍: 快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列 快速排 阅读全文
posted @ 2022-05-30 21:00 xugeA 阅读(51) 评论(0) 推荐(0) 编辑
摘要:希尔排序 简单插入排序存在的问题 我们看简单的插入排序可能存在的问题. 数组 arr = {2,3,4,5,6,1} 这时需要插入的数 1(最小), 这样的过程是: {2,3,4,5,6,6} {2,3,4,5,5,6} {2,3,4,4,5,6} {2,3,3,4,5,6} {2,2,3,4,5, 阅读全文
posted @ 2022-05-30 20:30 xugeA 阅读(42) 评论(0) 推荐(0) 编辑
摘要:插入排序 插入排序法介绍: 插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。 插入排序法思想: 插入排序(Insertion Sorting)的基本思想是:把 n 个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有 阅读全文
posted @ 2022-05-30 14:58 xugeA 阅读(80) 评论(0) 推荐(0) 编辑
摘要:选择排序 基本介绍 选择式排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的。 选择排序思想: 选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从 arr[0]~arr[n-1]中选取最小值, 与 arr[0]交 阅读全文
posted @ 2022-05-30 14:30 xugeA 阅读(136) 评论(0) 推荐(0) 编辑
摘要:冒泡排序 基本介绍 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。 优化: 因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没 阅读全文
posted @ 2022-05-29 15:35 xugeA 阅读(65) 评论(0) 推荐(0) 编辑
摘要:排序算法的介绍 排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。 排序的分类: 内部排序: 指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。 外部排序法: 数据量过大,无法全部加载到内存中,需要借助外部存储(文件等)进行排序。 常见的排序算 阅读全文
posted @ 2022-05-29 15:24 xugeA 阅读(356) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示