最优二叉检索树
来源:互联网 发布:500万的网络大电影 编辑:程序博客网 时间:2024/06/05 23:51
题目
给定数据集
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)
0 0
- 最优二叉检索树
- 最优二叉检索树
- BST最优二叉检索树(java版本)
- 最优二分检索树讲解
- 最优二叉查找树
- 最优二叉搜索树
- 最优二叉查找树
- 最优二叉树
- 最优二叉搜索树
- 最优查找二叉树
- 最优二叉树
- 最优二叉树算法
- 最优二叉查找树
- 最优二叉查找树
- 最优二叉搜索树
- 最优二叉查找树
- 最优二叉查找树
- 最优二叉搜索树
- 比微软kinect更强的视频跟踪算法--TLD跟踪算法介绍
- Android系统权限配置
- 在页面通过java读取文件中的值
- SSH开发中中文乱码问题
- Protocol Buffer技术规范
- 最优二叉检索树
- mysql相关笔记
- HTTP协议
- Jsoup访问需要登录的页面
- yate学习--yateclass.h--class YATE_API NamedCounter : public String
- 0.javaEE技术介绍
- Ubuntu14.04 安装 Cuda_6.5.14
- 最简单的lex的例子
- 【Java】Java多线程基础之OOP源码剖析