随笔分类 - 排序
算法排序
摘要:一、概念 基数排序(raddix sort)首先按照个位数的值进行装桶,个位数相同的数装进一个桶,然后从第0个桶开始取,取到第9个桶,将数组重新装进数组,在按照这种方式对十位、百位,直到最高位进行操作。 二、复杂度 三、代码实现 冒泡排序 快速排序 选择排序 堆排序 插入排序 希尔排序(缩小增量排序
阅读全文
摘要:一、概念 堆排序是简单选择排序的一种改进,改进的着眼点是:如何减少关键码的比较次数。 简单选择排序在一趟排序中仅选出最小关键码,没有把一趟比较结果保存下来,因而记录的比较次数较多。 堆排序在选出最小关键码的同时,也找出较小关键码,减少了在后面的选择中的比较次数,从而提高了整个排序的效率。 堆是具有下
阅读全文
摘要:一、概念 先将整个待排序记录序列分割成若干个子序列,在子序列内分别进行直接插入排序,待整个序列基本有序时,再对全体记录进行一次直接插入排序。 二、复杂度 三、代码实现 冒泡排序 快速排序 选择排序 堆排序 插入排序 归并排序-递归实现 基数排序
阅读全文
摘要:一、概念 每次将一个待排序的记录按照关键码的大小插入到一个已排好序的有序序列中,直到全部记录排好序。 二、复杂度 三、代码实现 冒泡排序 快速排序 选择排序 堆排序 希尔排序(缩小增量排序) 归并排序-递归实现 基数排序
阅读全文
摘要:一、概念 每一趟从待排序的数据元素中选出最小(最大)的一个元素,放在已排好序的最前(最后),直到全部待排序的数据元素排完。 二、复杂度 三、代码实现 冒泡排序 快速排序 堆排序 插入排序 希尔排序(缩小增量排序) 归并排序-递归实现 基数排序
阅读全文
摘要:一、概念 快速排序是对冒泡排序的一种改进:记录的比较和移动是从两端向中间进行的,关键码较大的记录一次就能从前面移动到后面,关键码较小的记录一次就能从后面移动到前面,记录移动的距离较远,从而减少了总的比较次数和移动次数。 基本思想:首先选取一个轴值(povit,即比较的基准),将待排序记录划分为独立的
阅读全文
摘要:一、概念 主要思想:将若干有序序列逐步归并,最终归并为一个有序序列。 二路归并排序是归并排序中最简单的排序方法,其基本思想是: 将若干个有序序列进行两两归并,直至所有待排序记录都在一个有序序列为止。 二、复杂度 三、代码实现 四、代码运行结果 冒泡排序 快速排序 选择排序 堆排序 插入排序 希尔排序
阅读全文
摘要:一、概念 冒泡排序算法的运作如下:(从后往前) 1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3、针对所有的元素重复以上的步骤,除了最后一个。 4、持续每次对越来越少的元素重复上面的
阅读全文