- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.3 对于标识符集(a1,a2,a3,a4)=(end, goto, print, stop),已知成功检索概率为P(1)=1/20, P(2)=1/5, P(3)=1/10, P(4)=1/20,不成功检索概率为Q(0)=1/5, Q(1)=1/10, Q(2)=1/5, Q(3)=1/20, Q(4)=1/20,用算法OBST对其计算W(i ,j),R(i, j)和C(i, j)(0≤i, j≤4)。 P112 算法6.5 P(i) P(1)=1/20, P(2)=1/5, P(3)=1/10, P(4)=1/20 Q(i)Q(0)=1/5, Q(1)=1/10, Q(2)=1/5, Q(3)=1/20, Q(4)=1/20 P(i)P(1)=1, P(2)=4, P(3)=2, P(4)=1 Q(i)Q(0)=4, Q(1)=2, Q(2)=4, Q(3)=1, Q(4)=1 6.4 ①证明算法OBST的计算时间是O(n2)。 ②在已知根R(i, j),0≤i j≤4的情况下写一个构造最优二分检索树T的算法。证明这样的树能在O(n)时间内构造出来。 ② Procedure BuildTree(m, n, R, Root) integer R(n,n), k TreeNode Root, LR, RR k←R(m,n) if k=0 then data(Root)←m, left(Root)←null, right(Root)←null, else data(Root)←k, BuileTree(m, k-1, R, LR),BuileTree(k, n, R, RR) left(Root)←LR, right(Root)←RR endif end BuildTree 时间复杂性分析 T(n)=c+T(k)+T(n-k-1),此递推式保证算法的时间复杂性为O(n); 也可从递归的角度出发,递归的次数正是结点的个数,而每次递归时间复杂性为常数,所以算法的时间复杂度也为O(n)。 6.6 设(w1,w2,w3,w4)=(10,15,6,9), (p1,p2,p3,p4)=(2,5,8,1)。生成每个fi阶跃点的序偶集合Si,0≤i≤4。 (w1,w2,w3,w4)=(10,15,6,9), (p1,p2,p3,p4)=(2,5,8,1) 6.8 给出一个使得DKNAP(算法4.7)出现最坏情况的例子,它使得| Si |=2i, 0≤in。还要求对n的任意取值都适用。 取 (P1,P2,…,Pi,…) =(W1,W2,…,Wi,…) =(20,21,…,2i-1,…) P和W取值相同,使支配原则成立,也就是说不会因为支配原则而删除元素;只要说明不会出现相同元素被删除一个的情形,即可知是最坏的情况。可用归纳法证明此结论。 6.17 最优性原理并不总是对可以将其解看成是一系列决策结果的所有问题成立。找两个最优性原理不成立的例子,并说明对这两个问题最优性原理为什么不成立。 多段图问题:路径和改为路径乘积并允许出现负数 6.5 由于我们通常只知道成功检索和不成功检索概率的近似值,因此,若能在较短的时间内找出几乎是最优的二分检索树,也是一件很有意义的工作。所谓几乎是最优的二分检索树,就是对于给定的P和Q,该树的成本(由(6.9)式计算)几乎最小。已经证明,由以下方法获得这种检索树的算法可以有O(nlogn)的时间复杂度,选取这样的k为根,它使|W(0, k-1)- W(k, n) |尽可能地小。重复以上步骤去找这根的左、右子树。 ① 对于题6.3的数据,用上述方法找出一棵这样的二分检索树。它的成本是什么? ② 用SPAKS写一个实现上述方法的算法,你的算法的计算时间为O(nlogn)吗? 计算树根: k从1到4, |W(0,0)-W(1,4)|=11, |W(0,1)-W(2,4)|=2, |W(0,2)-W(3,4)|=12, |W(0,3)-W(4,4)|=17 所以该树的根是T(0,4)=2, 依次计算得到T(0,1)=1,T(2,4)=3,T(3,4)=4 总体成本是4+2*(2+1)+2*(4+2+4)+3*(1+1+1)=39 算法分析作业 第6章 动态规划 最优化问题 多阶段过程 明显的 隐含的 最优性原理 必要条件 与问题表示相关(状态) 建立递推关系式 最优子结构(等价于最优性原理) 边界条件 作业 3 、4、6、 8 、17 0 0 1 3 0 4 0 1+1+1=3 1 7 0 3 0 4+1+2=7 4 10 0 2 0 2+4+4=10 2 7 0 1 0 4+2+1=7 4 C R W 1 1 4 2 4 Q 1
文档评论(0)