最优二叉检索树

题目

给定数据集
S = < x1 , x2 , …, xn>,
及S 的存取概率分布如下:
P = < a0 , b1 , a1 , b2 , a2 , … , bn, an >
求一棵最优的( 即平均比较次数最少的)二分检索树.

动态规划思路

令w[i,j]是P[i,j]中所有概率(数据与空隙)之和
设m[i,j] 是相对于输入S[i,j] 和P[i,j] 的最优二叉搜索树的平均比较次数
递推方程(k表示将第k个元素作为根来归结子问题):
m[i,j] = min{m[i,k-1] + m[k+1,j] + w[i,j]} , i=

时空复杂度

m[i,j]中,i,j 的所有组合有O(n^2)种,每种都要对不同的k进行计算,k的选取有O(n)种,每次计算为常数时间
时间复杂度:T(n) = O(n^3)
空间复杂度:即标记函数的个数S(n) = O(n^2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值