5.哈夫曼树——数据结构(严蔚敏 C语言版)

5.哈夫曼树

5.1概念

哈夫曼树: 哈夫曼(Huffman )树又称最优树,是一类带权路径长度最短的树,在实际中有广泛的用途。哈夫曼树的定义,涉及路径、路径长度、权等概念,下面先给出这些概念的定义,然后再介绍哈夫曼树。
(1) 路径: 从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。
(2) 路径长度: 路径上的分支数目称作路径长度。
(3) 树的路径长度: 从树根到每一结点的路径长度之和。
(4) 权: 赋予某个实体的一个量,是对实体的某个或某些属性的数值化描述。在数据结构中,实体有结点(元素)和边(关系)两大类,所以对应有结点权和边权。结点权或边权具体代表什么意义,由具体情况决定。如果在一棵树中的结点上带有权值,则对应的就有带权树等概念
(5) 结点的带权路径长度: 从该结点到树根之间的路径长度与结点上权的乘积。
(6) 树的带权路径长度: 树中所有叶子结点的带权路径长度之和,通常记作WPL。
在这里插入图片描述

(7) 哈夫曼树: 假设有m个权值{W1,W2…,Wm},可以构造一棵含n个叶子结点的二叉树,每个叶子结点的权为w;则其中带权路径长度WPL最小的二叉树称做最优二叉树或哈夫曼树。
(8) 哈夫曼树中权越大的叶子离根越近;具有相同带权结点的哈夫曼树不唯一。

例1:下面树的带权路径长度是多少?

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值