[CLRS][CH 20] van Emde Boas 树
摘要:vEB树简介当关键字是有界范围内整数时,能够避免排序的Ω(nlgn) 的下界限制。vEB树支持动态集合上运行时间为 O(lglgn) 的操作:Search, Insert, Delete, Min, Max, Successor 和 Predecessor。接下来,用 n 表示集合中当前元素的个数,...
阅读全文
[CLRS][CH 19]斐波那契堆
摘要:斐波那契堆简介斐波那契堆(Fibnacci Heap)有两种用途:第一,支持一系列操作,这些操作构成了所谓的可合并堆。第二,其一些操作可以在常数时间内完成,这使得这种数据结构非常适合于需要频繁调用这些操作的应用。可合并堆(Mergeable Heap)支持如下五种操作:Make-Heap(), In...
阅读全文
[CLRS][CH 18]B树
摘要:B树的简介B树的性质:一棵B树T是具有一下性质的有根树: 1. 每个结点 x 具有如下属性: a. x.n 存储当前节点 x 中关键字的个数; b. x.n 个关键字本身 x.key1, x.key2, ..., x.keyx.n 以非降序存放,使得 x.key1 ≤ x.key2≤ ...
阅读全文
[CLRS][CH 32]字符串匹配
摘要:问题简介对于给定文本 T[n] 和模式 P[m],找到一个位移量 s,使得 T[s + j] = P[j] (0 ,因而接受该输入。对于输入字符串 x' = {a, b, b, a, a},状态序列为 ,因而拒绝该收入。除此之外我们还定义一个终态函数φ,是从∑* 到 Q 的映射。对于φ(w) 表示自...
阅读全文
[CLRS][CH 15.5]最优二叉查找树
摘要:背景铺垫假设我们正在设计一个翻译程序,讲英语翻译成法语,需要用一棵BST存储文章中出现的单词及等价的法语。因为要频繁地查找这棵树,所以我们希望查找时间越短越好。当然我们可以考虑使用红黑树,或者可能更适用的伸展树,来实现这一操作。但是这仍然不能满足我们的需要:由于单词出现频率不同,如果mycophag...
阅读全文
[CLRS][CH 15.4] 最长公共子序列
摘要:摘要介绍了最长公共子序列的概念及解题思路。子序列概念子序列:一个给定序列的子序列就是该给定序列中,去掉零个或多个元素。一般来说,给定一个序列 X = ,另一个序列 Z= 如果存在X的一个严格递增下标序列,使得所有的j = 1, 2, ..., k,有xij=zj,则Z是X的一个子序列。例如,Z =...
阅读全文
常用网站整理
摘要:杂类:在线LaTeX公式编辑器题解:SICP结题集 byhuangzSICP学习笔记和习题解答 by Kevlin
阅读全文
[CLRS][CH 15.3] 动态规划基础
摘要:摘要究竟什么时候才需要动态规划?这里介绍两个要素:最优子结构,重叠子问题。另外,还要分析一种方法——备忘录,充分利用重叠子问题性质。最优子结构利用动态规划求解时第一步是描述最优解的结构。当一个问题具有最优子结构时,提示我们动态规划可能会适用。在寻找最优子结构时,可以遵循一种共同的模式:1)问题的一个...
阅读全文
[CLRS][CH 15.2] 动态规划之矩阵链乘法
摘要:摘要整理了矩阵链乘法的动态规划思路。题目给定n个要相乘的矩阵构成的序列,其中 i=1, 2, ..., n,矩阵Ai的维数为pi-1*pi。计算乘积 A1A2...An的最小代价的矩阵相乘循序。补充:矩阵乘法满足结合律,例如,乘积 A1A2A3A4共有五种不同加括号结合形式。不同的结合形式极大的影响...
阅读全文
[SICP][CH 2.2] 层次性数据和闭包性质
摘要:本答案部分参考SICP 解题集byhuangz,和SICP学习笔记和习题解答byKelvin。2.2.2层次性结构计算叶节点用这个递归方程计算就好了:(leaves tree) = (leaves (car tree)) + (leaves (cdr tree)),(leaves leave) = ...
阅读全文