常见排序算法
文章平均质量分 78
iteye_14104
这个作者很懒,什么都没留下…
展开
-
Shell算法
希尔排序(Shell Sort) 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算...原创 2016-07-26 11:32:42 · 192 阅读 · 0 评论 -
归并算法排序
归并算法排序 算法思想1.简单地将原始序列划分为两个子序列2.分别对每个子序列递归排序3.最后将排好序的子序列合并为一个有序的序列,即归并过程 归并过程为:比较a[i]和a[j]的大小,若a[i]≤a[j],则将第一个有序表中的元素a[i]复制到r[k]中,并令i和k分别加上1;否则将第二个有序表中的元素a[j]复制到r[k]中,并令j和k分别加上1,...原创 2016-07-26 15:20:53 · 85 阅读 · 0 评论 -
分配排序 桶排序与基数排序
基本演化顺序是:分配排序——桶排序——基数排序分配排序是最基本的为所有可能都分配一个存储位置的方法桶排序是在分配排序的基础上为相同元素或在同一个范围内的元素分配同一个桶,因此每个桶可以看做一个变长的链表基数排序是将元素分等级从最次级到最高级不断进行递进的排序过程 桶排序(在这里与分配排序一致:因为不存在重复元素且不划分范围)这是迄今为止最快的一种排序法,其时间复杂...原创 2016-07-28 09:41:39 · 168 阅读 · 0 评论 -
堆排序
二叉树的存储结构 二叉树是非线性结构,即每个数据结点至多只有一个前驱,但可以有多个后继。它可采用顺序存储结构和链式存储结构。1.顺序存储结构 二叉树的顺序存储,就是用一组连续的存储单元存放二叉树中的结点。因此,必须把二叉树的所有结点安排成为一个恰当的序列,结点在这个序列中的相互位置能反映出结点之间的逻辑关系,用编号的方法从树根起,自上层至下层,每层自左至右地给所有结点...原创 2016-07-28 15:06:58 · 142 阅读 · 0 评论 -
插入、冒泡、直接选择排序算法
插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到...原创 2016-07-28 15:11:17 · 91 阅读 · 0 评论 -
快速排序算法
快速排序算法 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。 一趟快速排序的算法是:1)设置两个变量i、j,排序开始的时候:i...原创 2016-07-28 15:11:37 · 98 阅读 · 0 评论