Skip to content

Commit 9c928b2

Browse files
committed
哈弗曼树纠正
1 parent 5ecfd28 commit 9c928b2

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

data-structure/tree/other-tree.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,21 +55,21 @@ Huffman Tree,中文名是哈夫曼树或霍夫曼树,它是最优二叉树
5555
(02) 结点的权及带权路径长度
5656

5757
> **定义**:若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。
58-
> **例子**:节点20的路径长度是3,它的带权路径长度= 路径长度 * 权 = 3 * 20 = 60。
58+
> **例子**:节点20的路径长度是3,它的带权路径长度= 路径长度x权 = 3 x 20 = 60。
5959
6060
(03) 树的带权路径长度
6161

6262
> **定义**:树的带权路径长度规定为所有叶子结点的带权路径长度之和,记为WPL。
63-
> **例子**:示例中,树的WPL= 1*100 + 2*80 + 3**20 + 3\**10 = 100 + 160 + 60 + 30 = 350
63+
> **例子**:示例中,树的WPL= 1x100 + 2x50 + 3x20 + 3x10 = 100 + 100 + 60 + 30 = 290
6464
6565
比较下面两棵树
6666

6767
![](https://github.com/wangkuiwu/datastructs_and_algorithm/blob/master/pictures/tree/huffman/02.jpg?raw=true&_=3706370)
6868

6969
上面的两棵树都是以{10, 20, 50, 100}为叶子节点的树。
7070

71-
> 左边的树WPL=2*10 + 2*20 + 2*50 + 2*100 = 360
72-
> 右边的树WPL=350
71+
> 左边的树WPL=2x10 + 2x20 + 2x50 + 2x100 = 360
72+
> 右边的树WPL=290
7373
7474
左边的树WPL > 右边的树的WPL。你也可以计算除上面两种示例之外的情况,但实际上右边的树就是{10,20,50,100}对应的哈夫曼树。至此,应该堆哈夫曼树的概念有了一定的了解了,下面看看如何去构造一棵哈夫曼树。
7575

0 commit comments

Comments
 (0)