【笔记】
【练习】
15.5-1 写出过程CONSTRUCT-OPTIMAL-BST(root)的伪代码,给定表root,输出一棵最优二叉查找树的结构。
15.5-2 对有n=7个关键字以及如下概率的集合,确定一棵最优二叉查找树的代价和结构。
i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
p_i | 0.04 | 0.06 | 0.08 | 0.02 | 0.10 | 0.12 | 0.14 | |
q_i | 0.06 | 0.06 | 0.06 | 0.06 | 0.05 | 0.05 | 0.05 | 0.05 |
15.5-3 假设不维护表w[i,j],我们在OPTIMAL-BST直接从公式计算w(i,j)的值,这个改变对渐进执行时间有什么影响?
*15.5-4 对所有的1<=i<j<=n,总存在最优子树的根使得root[i,j-1]<=root[i,j]<=root[i+1,j]。修改OPTIMAL-BST使其在O(n^2)时间内执行。