大家看看这道题:数据结构:试证明:有n(n>1)个权值所构造的HUFFMAN树中不存在度为1的节点。

分真不多了,就十分,大家帮帮忙,看看怎么证明?

赫夫曼树即为最优树,其定义为带权路径长度最短的树。当N>1时,可以假设存在度为1的节点,即该节点有一个子树。设该节点为A,其子节点为B。可将AB合并为一个节点,则B以下的叶子结点的路径长度减小,树的带权路径长度减小。显然合并后的树其带权路径长度之和小于原树,与原树是赫夫曼树的已知条件相悖。故假设是不成立的。得证。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-22
反证法:若存在度为1的节点,那么该节点有一个子树。设该节点为A,子节点为B。因为A是由B与另一个节点相加而得,而现在只有一个节点,那么A=B。将AB合并为一个节点,则B以下的叶子结点路径长度减少,树的带权路径长度减少,合并后其带权路径之和小于原树,而哈夫曼树已经是带权路径长度最短的树,所以与原树是哈夫曼树相悖,所以假设不成立。本回答被网友采纳
相似回答