码迷,mamicode.com
首页 >  
搜索关键字:算法导论    ( 1209个结果
算法导论 第十九章:斐波拉契堆
斐波拉契堆是由一组最小堆有序树组成,每棵树遵循最小堆性质,并且每棵树都是有根而无序的。所有树的根通过left和right指针来形成一个环形的双链表,称为该堆的根表。    对于一个给定的斐波拉契堆H ,可以通过指向包含最小关键字的树根指针H.min来访问。堆中每个节点还包含x.mark,x.degree两个域,x.degree表示x的子女表中的子女个数;x.mark表示从x上次成为另一个节点子女...
分类:编程语言   时间:2015-07-18 17:14:13    阅读次数:228
算法导论 第二十一章:不相交集合的数据结构
不相交集合(Disjoint-set )数据结构保持一组不相交的动态集合S={S(1),S(2),...,S(k)}.每个集合通过一个代表(representative)来识别,即集合中的某个成员。设x表示一个对象,不相交集合支持操作: MAKE-SET(x):建立一个新的结合,其唯一成员(也即代表)就是x。因为各集合是不相交的,故要求x没有在其他集合中出现过。 UNION(x,y):将包含x...
分类:编程语言   时间:2015-07-18 17:08:09    阅读次数:154
算法导论 第十八章;B 树
B树是为磁盘或其他直接存取辅助存储设备而设计的一种平衡查找树。B树的”分支因子“可能很大,即每个节点可以有很多子女。这一因子由所用磁盘特性所决定,并且可以降低磁盘I/O操作次数。许多数据库系统都使用B树或B树的变形来存储信息。 B树结构形式如下: 其特点: 1)每个节点x有以下域: a)  x.n:当前存储在节点x中的关键字 b) x.n 个key值,以非降序顺序存放,即 x.key...
分类:编程语言   时间:2015-07-18 14:14:35    阅读次数:170
算法导论(第三版)Problems2(归并插入排序、数列逆序计算)
讨论内容不说明,仅提供相应的程序。2.1:归并插入排序θ(nlgn)void mergeInsertionSort(int a[], int l, int r, int k){ int m; if(r-l+1 > k) { m = (l + r) / 2; ...
分类:编程语言   时间:2015-07-18 13:57:42    阅读次数:160
算法导论 第十六章:贪心算法之单任务调度问题
贪心算法是使所做的选择看起来都是当前最优的,通过所做的局部最优选择来产生一个全局最优解。 其具有的性质如下: 1)贪心选择性质:一个全局最优解可以通过局部最优(贪心)选择来达到。即,在考虑如何做选择时,我们只考虑对当前问题最佳的选择而不考虑子问题的结果。           这一点是贪心算法不同于动态规划之处:在动态规划中,每一步都要做出选择,但是这些选择依赖于子问题的解。因此,解动态规划问...
分类:编程语言   时间:2015-07-18 12:45:42    阅读次数:2177
2、区间图着色问题(多个教室的活动安排)
算法导论 16.1-4题(多个教室活动选择的问题): CLRS 16.1-3 假设要用很多个教室对一组活动进行调度。我们希望使用尽可能少的教室来调度所有的活动。请给出一个有效的贪心算法,来确定哪一个活动应使用哪一个教室。来源: http://blog.csdn.net/heyongluoyao8/a...
分类:其他好文   时间:2015-07-17 21:01:24    阅读次数:232
1、贪心算法
贪心算法问题: 活动安排: 见《算法导论》一书P238.对于活动的安排问题理解:.由知Aij表示在活动i的开始后,活动j结束前的活动安排。则由知Aij=Aik+ak+Akj.由知 Aik表示在活动i结束后,活动k开始前的活动数。 Akj表示在活动k结束后,活动j开始前的活动数。因此不包含活动 ak最...
分类:编程语言   时间:2015-07-17 20:51:26    阅读次数:146
《算法导论》读书笔记--第1、2章课后题
第一章 思考题 1-1(运行时间的比较)确定时间t内求解的问题的最大规模。 上面是网上提供的答案。 注意点: 1、最左边一列的是关于n的增长情况描述,值得记住的是这些增长的排列顺序,这是非常有用的,啊,数分学好了会很容易; 2、注意1s内能处理的以n为增长量级的规模是10的6次方,记住这个结果可以推...
分类:编程语言   时间:2015-07-17 18:26:15    阅读次数:152
重现二叉树非递归算法的构建过程
递归完成树的遍历很好理解,倘若是非递归,不要告诉我算法导论上有,我要maker的思考过程 既然递归能够实现,那就模拟递归。递归的本质就是压栈。 首先简单树,观察递归的压栈过程 A、B即使节点的数据也代表节点的地址。 对这棵树使用递归完成前序创建#include using namespace std; struct treenode; typedef struct...
分类:编程语言   时间:2015-07-17 16:24:55    阅读次数:172
《算法导论》读书笔记--第二章 2.3 设计算法
我们可以使用的算法设计技术有很多。插入排序用的是增量方法,即在已经排好的数组中不断加入新的元素。下面考虑一种被称为“分治法”的设计方法。 2.3.1分治法 分治法的思想:将原问题分解为几个规模较小但是类似于原问题的子问题,递归地求解这些子问题,然后合并这些子问题的解来建立原问题的解。分治模式在每层递...
分类:编程语言   时间:2015-07-17 14:01:15    阅读次数:129
1209条   上一页 1 ... 54 55 56 57 58 ... 121 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!