【动态规划】最优二叉搜索树

问题描述:

    最优二叉搜索树的定义对给定的概率集合,期望搜索代价最小的二叉搜索树称为最优二叉搜索树

      这里把概率用结点权值代替,只讨论成功结点的搜索期望。

      给定 n 个有序的值,{k1,k2 ..... kn} ,其中 ki = i ;

    k1 到 kn 对应的权值分别为{ w1, w2 ..... wn } ;

    求以 k1 到 kn 为关键字构成的二叉搜索树期望代价最小。

    等价于求:

    

    根结点是从0开始,所以深度加1;

    

    遍历所有的 r 得到最小的。后面加上所有结点的权值是因为,前面左右子树的结点的深度都少了一层,所以后面是根结点的权值加上其他结点少的那一层乘对应权值。

    

    当 i=j 时,表示有一个结点构成的树,其最小期望就是结点权值本身。

    

 

posted @ 2023-11-18 22:46  -星-星-  阅读(65)  评论(0)    收藏  举报