最优二叉搜索树问题(Java)
1、前置介绍
2、算法设计思路
2.1 最优二叉搜索树的结构
2.2 一个递归算法
2.3 计算最优二叉搜索树的期望搜索代价
3、代码实现
4、复杂度分析
5、参考资料...最优二叉搜索树的形式化定义如下:给定一个n个不同关键字的已排序的序列K={k1, k2, ..., kn}(因此k1 最优二叉搜索树。...ki, …, kr-1的最优二叉搜索树作为其左子树,以及一棵包含关键字kr+1, …, kj的二叉搜索树作为其右子树。...如果选取期望搜索代价最低者 作为根结点,可得最终递归公式⑥:
e[i,j]的值给出了最优二叉搜索树的期望搜索代价。...为了记录最优二叉搜索树的结构,对于包含关键字ki, … , kj()的最优二叉搜索树,我们定义root[i, j]保存根结点kr的下标r。