树型动态规划的实例分析.docVIP

  • 5
  • 0
  • 约1.09万字
  • 约 19页
  • 2016-06-12 发布于重庆
  • 举报
树型动态规划的实例分析

树型动态规划的实例分析 一、什么是树型动态规划 ? 顾名思义,树型动态规划就是在“树”的数据结构上的动态规划,平时作的动态规划都是线性的或者是建立在图上的,线性的动态规划有二种方向既向前和向后,相应的线性的动态规划有二种方法既顺推与逆推,而树型动态规划是建立在树上的,所以也相应的有二个方向: 1.? 根—叶:不过这种动态规划在实际的问题中运用的不多,也没有比较明显的例题,所以不在今天讨论的范围之内。 2.? 叶-根:既根的子节点传递有用的信息给根,完后根得出最优解的过程。这类的习题比较的多,下面就介绍一些这类题目和它们的一般解法。 ? 二、例题与解析 加分二叉树 【问题描述】 ??? 设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下: ??? subtree的左子树的加分× subtree的右子树的加分+subtree的根的分数 ??? 若某个子树为空,规定其加分为1,叶子的加分就是叶节点本身的分数。不考虑它的空子树。 ??? 试求一棵符合中序遍历为(1,2,3,…,n)且加分最高的二叉树tree。要求输出; ??? (1)tree的最

文档评论(0)

1亿VIP精品文档

相关文档