- 1、本文档共120页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法 第四章 动态规划设计.ppt
最优二分检索树问题: 求一棵使得预期成本最小的二分检索树 例4.9 标识符集合(a1,a2,a3)=(do,if,stop)。可能的二分检索树如下所示。 成 功 检 索:3种 不成功情况:4种 stop do if do if stop stop if do if do stop do stop if (a) (b) (c) (d) (e) 1) 等概率:P(i)=Q(i)=1/7 cost(a) = 15/7 cost(b) = 13/7 最优 cost(c) = 15/7 cost(d) = 15/7 cost(e) = 15/7 2)不等概率: P(1)=0.5 P(2)=0.1 P(3)=0.05 Q(0)=0.15 Q(1)=0.1 Q(2)=0.05 Q(3)=0.05 cost(a) = 2.65 cost(b) = 1.9 cost(c) = 1.5 最优 cost(d) = 2.15 cost(e) = 1.6 if do stop do stop if (b) (c) 2. 多阶段决策过程 把构造二分检索树的过程看成一系列决策的结果。 决策的策略:决策树根,如果{a1,a2,…,an}存在一棵二分检索树,ak是该树的根,则内结点a1,a2,…,ak-1和外部结点E0,E1,…,Ek-1将位于根ak的左子树中,而其余的结点将位于右子树中。 ak 由ak+1, ak+2, …,an及Ek,Ek+1,…,En构成的二分检索树 由a1,a2,…,ak-1及E0,E1,…,Ek-1构成的二分检索树 定义: 含义: ● 左、右子树的预期成本——左、右子树的根处于第一级 ● 左、右子树中所有结点的级数相对于子树的根测定,而相对于原树的根少1 记: 则,原二分检索树的预期成本可表示为: COST(T)=P(k)+COST(L)+COST(R)+W(0,k-1)+W(k,n) 最优二分检索树:COST(T)有最小值 最优性原理成立 若T最优二分检索树,则COST(L)和COST(R)将分别是包含a1,a2,…,ak-1和E0,E1,…,Ek-1、及ak+1, ak+2, …,an和Ek,Ek+1,…,En的最优二分检索(子)树。 记由ai+1,ai+2,…,aj和Ei,Ei+!,…,Ej构成的二分检索树的成本为C(i,j),则对于最优二分检索树T有, COST(L) = C(0,k-1) COST(R) = C(k,n) 则, 对任何C(i,j)有, 向前递推过程: ★ 首先计算所有j-i=1的C(i,j) ★ 然后依次计算j-i=2,3,…的C(i,j)。 ★ C(0,n)=最优二分检索树的成本。 初始值 C(i,i) = 0 W(i,i) = Q(i),0≤i≤n 最优二分检索树的构造 ● 在计算C(i,j)的过程中,记下使之取得最小值的k值,即树Tij的根,记为R(i,j)。 ● 依据R(0,n)…,推导树的形态 例4.10 设n=4,且(a1,a2,a3,a4)=(do,if,read,while)。 设P(1:4) = (3,3,1,1),Q(0:4) = (2,3,1,1,1) (概率值“扩大”了16倍) 初始:W(i,i)=Q(i) C(i,i)=0 R(i,i)=0 且有,W(i,j)=P(j)+Q(j)+W(i,j-1) j-i=1阶段的计算: W(0,1)=P(1)+Q(1)+W(0,
文档评论(0)