首先,我们明白这个树是为了算wpl,并且易知:如何给定一个确定的树,把数字填进去,对这个树来说,数越大填的越上面,wpl就越小。
所以说,哈夫曼数是在针对给出的一组数字,来挑选一个合适构型的二叉树罢了。
对于wpl的计算,书上是这么写的:数中所有叶子节点的带权路径之和。
可以换算一个,把不是叶子节点的东西也算进去,就改变了计算,即所有节点的和:
这种写法不是脱裤子放屁吗?别急,这是为了换算:
写的很乱,你只需要知道,我是把俩个节点当成一个整体,和另一个节点去交换,交换之后会产生一个差值,而这个差值的值只需要知道交换节点的值就可以算出来。
这样就应该能看出来最优子结构了吧