画出一个二叉树,可如下:
o
/ \
O o
/ \
O o
/ \
O o
/ \
O O
这不是很明显的事吗?如果根的高度从0开始计,则该树树高为4,如果根的高度从1开始计,则该树高度为5。再怎么也不会是3啊。
什么是哈夫曼树
给定n个权值作为n个叶子结点,构造一棵二叉树,带权路径长度达到最小。带权路径长度最短的树,权值较大的结点离根较近
构造的方法
在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和;
我的结果
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/f9198618367adab47c54e21087d4b31c8601e4d9?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
错误原因
构造过程没问题,只是最后左子树大于了右子树,所以错误了(因为这是规范,左子树权值要小于右子树)