摘要: 排序算法总结:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目... 阅读全文
posted @ 2016-01-22 15:38 守候幸福 阅读(186) 评论(0) 推荐(0)
摘要: 基数排序又称桶排序。基数排序与本系列前面讲解的七种排序方法都不同,它不需要比较关键字的大小。它是根据关键字中各位的值,通过对排序的N个元素进行若干趟“分配”与“收集”来实现排序的。不妨通过一个具体的实例来展示一下,基数排序是如何进行的。设有一个初始序列为: R {50, 123, 543, 187,... 阅读全文
posted @ 2016-01-22 15:31 守候幸福 阅读(274) 评论(0) 推荐(0)
摘要: 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序的基本思想将待排序序列R[0...... 阅读全文
posted @ 2016-01-22 15:15 守候幸福 阅读(137) 评论(0) 推荐(0)
摘要: 堆是一棵顺序存储的完全二叉树。其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆。其中每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为大根堆。举例来说,对于n个元素的序列{R0, R1, ... , Rn}当且仅当满足下列关系之一时,称之为堆: (1) Ri = R2i+1 ... 阅读全文
posted @ 2016-01-22 15:06 守候幸福 阅读(240) 评论(0) 推荐(0)
摘要: 简单选择排序是一种选择排序。选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。简单选择排序(Simple Selection Sort)是通过n – i次关键字之间的比较,从n – i + 1个记录中选出关键字最小(大)的记录,并和第i(1≤i≤... 阅读全文
posted @ 2016-01-22 14:42 守候幸福 阅读(217) 评论(0) 推荐(0)
摘要: 希尔(Shell)排序又称为缩小增量排序,它是一种插入排序。它是直接插入排序算法的一种威力加强版。希尔排序的基本思想是:把记录按步长 gap 分组,对每组记录采用直接插入排序方法进行排序。随着步长逐渐减小,所分成的组包含的记录越来越多,当步长的值减小到 1 时,整个数据合成为一组,构成一组有序记录,... 阅读全文
posted @ 2016-01-22 11:58 守候幸福 阅读(279) 评论(0) 推荐(0)
摘要: 希尔排序的实质就是分组插入排序,该方法又称缩小增量排序。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基... 阅读全文
posted @ 2016-01-22 11:51 守候幸福 阅读(202) 评论(0) 推荐(0)
摘要: 直接插入排序是一种最简单的插入排序。插入排序:每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,知道全部插入完成。(1) 我们先将这个序列中下标为 0 的元素视为元素个数为 1 的有序序列。(2) 然后,我们要依次把 R1, R2, ... , RN-1 插入到这个有序序列中。... 阅读全文
posted @ 2016-01-22 11:05 守候幸福 阅读(269) 评论(0) 推荐(0)
摘要: 快速排序是一种交换排序。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分:分割点左边都是比它小的数,右边都是比它大的数。然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。基本思想:1)选择一个基准元素,通常选择第一个元素或者最后一个元素... 阅读全文
posted @ 2016-01-22 10:45 守候幸福 阅读(226) 评论(0) 推荐(0)
摘要: 冒泡排序是一种交换排序。交换排序:两两比较待排序的关键字,并交换不满足次序要求的那对数,直到整个表都满足次序要求为止。算法思想它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来... 阅读全文
posted @ 2016-01-22 09:59 守候幸福 阅读(137) 评论(0) 推荐(0)