归并排序:归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。——(摘自百度百科)
具体操作:
比较a[i]和a[j]的大小,若a[i]≤a[j],则将第一个有序表中的元素a[i]复制到r[k...
分类:
编程语言 时间:
2016-05-06 12:58:02
阅读次数:
234
归并排序 算法平均时间复杂度:O(nlog2n) 算法空间复杂度:O(n) (用于存储有序子序列合并后有序序列) 原理:所谓归并排序是指将两个或两个以上有序的数列(或有序表),合并成一个仍然有序的数列(或有序表)。这句话讲的非常明白,有序,前提就是有序。 步骤分析: 1、划分子集 2、合并子集 先说 ...
分类:
编程语言 时间:
2016-05-05 02:04:51
阅读次数:
216
这篇文章是关于有序表的查找,主要包括了顺序查找的优化用法、折半查找、插值查找、斐波那契查找; 顺序优化查找:效率极为底下,但是算法简单,适用于小型数据查找; 折半查找:又称为二分查找,它是从查找表的中间开始查找。查找结果只需要找其中一半的数据记录即可。效率较顺序查找提高不少。比较适用与静态表,一次排 ...
分类:
编程语言 时间:
2016-05-02 11:39:01
阅读次数:
183
插入排序是一种简单直观的排序方法,其基本思想在于每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。 1. 直接插入排序 基本思想: 直接插入排序是一种最简单的排序方法,它的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增加1的有序表 ...
分类:
编程语言 时间:
2016-04-30 10:08:42
阅读次数:
173
1、二分查找概念二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果..
分类:
其他好文 时间:
2016-04-20 18:21:10
阅读次数:
165
1、二分查找 二分查找又称折半查找,它是一种效率较高的查找方法。 二分查找要求:线性表是有序表,即表中节点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。 2、二分查找的基本思想 二分查找的基本思想是:(设R[low..high]是当前的查找区间) (1)首先确定该区间的中点位 ...
分类:
其他好文 时间:
2016-04-18 11:40:14
阅读次数:
192
直接插入排序(StraightInsertionSort)是一种最简单的排序方法,他的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表。当前元素的前面元素均为有序,要插入时,从当前元素的左边开始往前找(从后往前找),比当前元素大的元素均往右移..
分类:
编程语言 时间:
2016-04-05 14:17:24
阅读次数:
197