随笔分类 - 排序算法
摘要:简介 归并排序算法是基于归并操作的一种有效排序算法,是采用分治法的典型应用。归并排序算法将待排序序列分为若干个子序列,先对每个子序列进行排序,等每个子序列都有序后,再将有序子序列合并为整体的有序序列,若将两个有序表合并为一个有序表,则称之为二路归并。 原理 归并排序的原理是将原始数组分解为多个子序列
阅读全文
摘要:简介 希尔排序算法是插入排序算法的一种,又叫做缩小增量排序算法,是插入排序算法的一种更高效的改进版本,是非稳定排序。希尔排序算法将数据序列按下标的一定增量进行分组,对每组使用插入排序算法排序,随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 原理 希尔排
阅读全文
摘要:简介 快速排序实际上是对冒泡排序的一种改进,通过一趟排序将要排序的数组分成两部分,其中一部分的所有数据都比另一部分的所有数据都要小,然后再对这两部分数据分别进行快速排序,整个排序过程递归进行,最终使整个数组有序。 原理 快速排序算法的原理是选择一个元素作为基准值,一般选择数组的第一个元素,将比基准值
阅读全文
摘要:介绍 直接插入排序算法是一种简单,直观且稳定的排序算法。直接插入排序的基本思路是将一个元素插入到已经排好序的序列中,从而得到一个新的有序序列。 原理 直接插入排序的原理就好比抓扑克牌一样,我们每新抓到一张扑克后,会扫描已经有序的扑克牌,以升序为例,从大到小扫描扑克牌,当出现扑克小于当前的新扑克时,将
阅读全文
摘要:介绍 冒泡排序算法是一种简单的排序算法,它在重复的访问要排序的元素时,会依次比较相邻的两个元素,以升序为例,如果左边的元素大于右边的元素,就交换两个元素的位置,如此重复,直到没有相邻的元素需要交换位置,则排序完毕。 在排序的过程中,每一轮交换都会将最大的元素移动到数组的末端(升序),如同气泡上浮一般
阅读全文

浙公网安备 33010602011771号