文章分类 - Data Structure and Algorithm
1
摘要://主要的合并函数 /* 定义insert函数,用来合并两个链表 */ struct student * insert(stuct student * ah,struct student * bh) {struct student * pa1,* pa2,* pb1,* pb2; pa2=pa1=ah; pb2=pb1=bh; do { if((pb1->num>pa1->num)...
阅读全文
摘要:首先注意:B树就是B-树,"-"是个连字符号,不是减号。 B-树是一种平衡的多路查找(又称排序)树,在文件系统中有所应用。主要用作文件的索引。其中的B就表示平衡(Balance) B+树有一个最大的好处,方便扫库,B树必须用中序遍历的方法按序扫库,而B+树直接从叶子结点挨个扫一遍就完了。 B+树支持
阅读全文
摘要:本文主要以列表形式将B+树的特点以及注意点等列出来,主要参考《算法导论》、维基百科、各大博客的内容,结合自己的理解写的,如内容有不当之处,请各位雅正。 出处:http://blog.csdn.net/love_u_u12138 转载请注明出处。 1.前言 B树是为磁盘或其他直接存取的辅助存储设备而设
阅读全文
摘要:花了很长时间才理解了,看来得复习复习运筹学了。 时间复杂度:O(n+e),n为节点的数目,e为弧数; 结果:
阅读全文
摘要:AOV网:在现代化管理中,人们常用有向图来描述和分析一项工程的计划和实施过程,一个工程常被分为多个小的子工程,这些子工程被称为活动(Activity),在有向图中若以顶点表示活动,有向边表示活动之间的先后关系,这样的图简称为AOV(Activity On Vertex Network)网。 拓扑序列
阅读全文
摘要:创建二叉树的时候,传的参数是指向指针的的指针。 因为要改变指针的值,所以应该定义指向指针的指针。
阅读全文
摘要:原理: 通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的。 时间复杂度 快速排序涉及到递归调用,所以该算法的时间复杂度还需要从递归算法的复杂度开始说起; 递归算法的时间复杂度公式:T[n] = a
阅读全文
摘要:归并排序算法采用的是分治算法,即把两个(或两个以上)有序表合并成一个新的有序表,即把待排序的序列分成若干个子序列,每个子序列都是有序的,然后把有序子序列合并成整体有序序列,这个过程也称为2-路归并.注意:归并排序的一种稳定排序,即相等元素的顺序不会改变. 归并排序之递归实现: 归并排序时间复杂度分析
阅读全文
摘要:简单选择排序没有把每一趟的比较结果保存下来,堆排序做到了在每次选择到最小记录的同时,根据比较结果对其他的记录做出相应的调整。 完全二叉树的某个结点到根结点的距离为;向下取整 [logi]+1。 堆排序的过程
阅读全文
摘要:增量的选取很关键,最好的情况下时间复杂度可达到O(n^(3/2)),要好于直接排序的O(n^2).希尔排序中记录是跳跃式的移动,所以希尔排序不是稳定的排序算法。意义:突破了慢速排序的时代(超越了O(n^2)).
阅读全文
摘要:算法中引进的附加记录R[0]称监视哨或哨兵(Sentinel)。 哨兵有两个作用: ① 进人查找(插入位置)循环之前,它保存了R[i]的副本,使不致于因记录后移而丢失R[i]的内容; ② 它的主要作用是:在查找循环中"监视"下标变量j是否越界。一旦越界(即j=0),因为R[0].可以和自己比较,循环
阅读全文
摘要:比较次数依然是n(n-1)/2,但交换次数最差的时候是(n-1); 时间复杂度O(n^2)
阅读全文
摘要:9.3.3 最好情况比较n-1次,最坏比较n(n-1)/2次,并做同等数量级的交换。 时间复杂度O(n^2);
阅读全文
摘要:转:http://blog.csdn.net/wuxinyicomeon/article/details/5996675/ 常用的排序算法的时间复杂度和空间复杂度: 1、时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才 能知道。但我们不可能也没有必要对
阅读全文
摘要:问题定义: 写一个函数SortedMerge函数,该函数有两个参数,都是递增的链表,函数的功能就是合并这两个递增的链表为一个递增的链表,SortedMerge的返回值是新的链表。新链表由前两个链表按元素递增顺序合并而成,也就是说它不会创建新的元素。 比如:这里有两个链表,分别是 list1: 5->
阅读全文
摘要:问题:假设有一根绳子,上面有一些红、白、蓝色的旗子。起初旗子的顺序是任意的,现在要求用最少的次数移动这些旗子,使得它们按照蓝、白、红的顺序排列。注意只能在绳子上操作,并且一次只能调换两个旗子。 解法:从绳子的开头(最左边)开始,遇到蓝色的往前移,遇到白色的不动,遇到红色的往后移。 注:我们这里说的前
阅读全文
摘要:标签: 时间复杂度 标签: 时间复杂度 分类: 时间复杂度 分类: 时间复杂度 -宝宝为啥听不懂他们在讨论的时间复杂度 0.0 -我怎么知道这个算法运行得比那个算法快 0.0 -我究竟会不会超时0.0 -我为什么还会超时0.0 -时间复杂度怎么算0.0 在别人还不会求时间复杂度的时候而你会了是不是很
阅读全文
摘要:阅读目录 1. 顺序查找 2. 二分查找 3. 插值查找 4. 斐波那契查找 5. 树表查找 6. 分块查找 7. 哈希查找 阅读目录 1. 顺序查找 2. 二分查找 3. 插值查找 4. 斐波那契查找 5. 树表查找 6. 分块查找 7. 哈希查找 查找是在大量的信息中寻找一个特定的信息元素,在计
阅读全文
1

浙公网安备 33010602011771号