摘要: 一、算法简介 计数排序(Counting sort)是一个非基于比较的稳定的排序算法。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。它只能对整数进行排序。该算法于1954年由 Harold H. Seward 提出。它的 阅读全文
posted @ 2016-07-22 16:26 gugibv 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 一、算法简介 希尔排序的实质就是分组插入排序,该方法又称缩小增量排序。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。 二、算法 阅读全文
posted @ 2016-07-22 16:23 gugibv 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 一、算法简介 堆排序利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序区中选取最大(或最小)关键字的记录变得简单。 二、算法描述 1、什么是堆? 我们这里提到的堆一般都指的是二叉堆,它满足二个特性: 1 父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。 2 阅读全文
posted @ 2016-07-22 16:18 gugibv 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 一、算法简介 快速排序(Quicksort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 二、算法描述 阅读全文
posted @ 2016-07-22 16:08 gugibv 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 一、算法分析 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归 阅读全文
posted @ 2016-07-22 16:00 gugibv 阅读(401) 评论(0) 推荐(0) 编辑