《算法导论》笔记 第12章 总结与思考

【思考】


12-1 具备相同关键字的二叉查找树


a) 当用TREE-INSERT将n个具备相同关键字的数据项插入到一棵初始为空的二叉查找树中时,该算法的渐进性能如何?算法

差很少O(n^2)数据结构


b) 在结点x处设一个布尔标志b[x],并根据b[x]的不一样值,置x为left[x]或right[x]。每当插入一个与x具备相同关键字的结点时,b[x]取反!函数

O(nlogn)性能


c) 在结点x处设置一个列表,其中全部结点都具备与x相同的关键字,并将z插入到该列表中。ci

O(n^2)字符串


d) 随机地将x置为left[x]或right[x]。it

最坏O(n^2),平均O(nlogn)。二叉树


12-2 基数树

基数树,或称Patricia trie/tree,或 crit bit tree,是一种基于trie(字典树)的特殊的数据结构。通常用来储存字符串集。
遍历

将01串按性质插入基数数中,对树进行遍历,获得的串即为按字典序排列的。im


12-3 随机构造的二叉查找树中的平均节点深度

证实在一棵随机构造的二叉查找树中,n个节点的平均深度为O(lgn)。


12-4 不一样的二叉树数目


设bn表示包含n个结点的不一样的二叉树的数目。在本问题里,要给出关于bn的公式和一个渐进估计。

a) 证实:b0=1,且对n>=1,有:


当n==1时,b1=b0*b0=1。包含1个结点的不一样二叉树的数目为1。

假设当n==i-1时,成立。

当n==i时,除去根节点,共有i-1个结点要分配到左右两个子树中,假设左子树拥有结点k,则右子树拥有结点i-1-k个,则有方案bk*b(i-1-k)种。

所以bi=∑bk*b(i-1-k),假设成立。

所以bn=∑bk*b(n-1-k)。


b) 设B(x)为生成函数

证实B(x)=xB(x)^2+1,于是表达式B(x)的一种方式是

在点x=a处f(x)的泰勒展式为


其中f(k)(x)是在点x处f的k阶导数。


c) 经过在x=0处使用sqrt(1-4x)的泰勒展式,证实



d) 证实:

相关文章
相关标签/搜索