二叉搜索树的花费是指对于一个节点,其深度乘以权值,再将所有节点的花费相加得到的结果。二叉搜索树的总权则是指所有节点的权值之和。

关键字是指在二叉搜索树中具有唯一性的标识,伪关键字则是指在二叉搜索树中虽然不具有唯一性,但可以作为参考用于优化树的构建。关键字和伪关键字都与花费和总权有关,因为它们会影响树的形态和深度,进而影响节点的花费和总权。

举个例子,假设有如下的关键字和权值:

| 关键字 | 权值 | | ------ | ---- | | 10 | 4 | | 5 | 2 | | 3 | 1 | | 8 | 2 | | 15 | 3 |

如果按照关键字构建二叉搜索树,则可能得到如下的树:

       10
      /  \
     5   15
    / \
   3   8

此时的花费为:

10*4 + 5*2 + 3*1 + 8*2 + 15*3 = 67

总权为:

4 + 2 + 1 + 2 + 3 = 12

如果使用伪关键字进行优化,则可能得到如下的树:

        8
      /   \
     5    10
    /     / \
   3     9  15

此时的花费为:

8*2 + 5*2 + 3*1 + 10*4 + 9*1 + 15*3 = 78

总权为:

2 + 2 + 1 + 4 + 1 + 3 = 13

可以发现,虽然使用伪关键字优化后花费增加了,但总权也有所增加,因此需要综合考虑二者


原文地址: http://www.cveoy.top/t/topic/hfug 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录