归并排序归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并过程为:比较a[i]和a[j]...
分类:
编程语言 时间:
2015-05-11 14:26:12
阅读次数:
139
所谓的有序表表,顾名思意啊,有序表应该就是数据是有一定顺序排列的,准确定义为:线性表中全部元素以递增或递减方式排列,并规定有序表中不存在不存在元素值同样的元素。他是逻辑上的概念,不是物理上的。逻辑结构类型有,线性结构,树形结构,图形结构,表示每一个节点之间的组织结构。物理上的结构有顺序存储结构,链式...
分类:
其他好文 时间:
2015-05-10 09:39:34
阅读次数:
91
原创作品,转载请注明出处:点我归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并过程为:...
分类:
编程语言 时间:
2015-05-09 16:13:50
阅读次数:
132
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide
and Conquer)的一个非常典型的应用,时间复杂度最坏情形为O(NlogN)。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。(引自百度百科)
这个算法的基本操作是合并两个已排序的表。基本的合并算法是取两个输入数组A和B,一...
分类:
编程语言 时间:
2015-05-06 17:56:41
阅读次数:
170
查找主要讨论顺序表、有序表、索引表和哈希表查找的各种实现方法,以及相应查找方法在等概率情况下的平均查找长度。 查找表(Search Table):相同类型的数据元素(对象)组成的集合,每个元素通常由若干数据项构成。
关键字(Key,码):数据元素中某个(或几个)数据项的值,它可以标识一个数据元素。若关键字能唯一标识一个数据元素,则关键字称为主关键字(Primary Key) ;将能标识若干个数...
分类:
其他好文 时间:
2015-05-03 10:39:33
阅读次数:
243
归并排序
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide
and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。
归 并过程为:比较a[i]和a[j]的大小,若a[i]≤a[j],则将第一个有序表中的元素a[i]复制到r...
分类:
编程语言 时间:
2015-04-30 18:21:40
阅读次数:
133
基于数组二分查找算法的实现
二分查找 查找 算法 赵振江
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的...
分类:
编程语言 时间:
2015-04-26 10:58:49
阅读次数:
163
1.直接插入排序的思想:将一个记录插入到已经排好序的的有序表中,从而得到一个新的、记录数增1的有序表。 1 void InsertSort(SqList *L) 2 { 3 int i, j; 4 for(i=2; ilength; i++) 5 { 6 if...
分类:
编程语言 时间:
2015-04-24 14:01:55
阅读次数:
132
直接插入排序和折半插入排序
插入排序的基本思想是:在一个一排好序的记录的子集上的基础上,每一步将下一个待排序的记录有序的插入到已经排好序的记录子集中,直到将所有待排序的子集全部插入到序列中为止。
直接插入排序(straight insertion sort)的做法是:
每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入...
分类:
编程语言 时间:
2015-04-24 09:10:58
阅读次数:
164
八大内部排序算法(上)冒泡、直接插入、简单选择、快速
排序分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。
我们这里说说八大排序就是内部排序。
1.直接插入排序
将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看...
分类:
编程语言 时间:
2015-04-21 18:07:51
阅读次数:
147