计算机软件技术基础第4章 数据结构.ppt

计算机软件技术基础第4章 数据结构

§4.4.6 二叉树的应用 1、哈夫曼树 ①哈夫曼树的定义 哈夫曼树又称最优树。是一类带权路径最短的树。有着广泛的应用。 下面先介绍几个概念。 路径 :从树中一个结点到另一个结点之间的分支就构成这两个结点之间的路径。 路径长度:路径上的分支数目称路径长度。 树的路径长度:从树的根到每一个结点的路径长度之和称树的路径长度。 结点的带权路径长度:该结点到树根之间的路径长度与该结点上权值的乘积。 树的带权路径长度:树中叶子结点的带权路径长度之和。 树的带权路径长度记作: WPL= 其中n为带权树叶子结点的个数,wi 为第i个叶子结点的权值,li 为第i个叶子结点的路径长度。 哈夫曼树(Huffman)又称最优树。它是n个带权叶子结点构成的所有二叉树中,带权路径长度最小的二叉树。因为构造这种树的算法最早是由哈夫曼于1952年提出的,所以称为哈夫曼树。 设以下的三棵不同结构的二叉树都有5个叶子结点,权值分别为:3、5、9、10、12,如图4.43所示:它们的带权路径长度分别为: (a) WPL=3*3+5*3+9*3+10*3+12*1=93 (b) WPL=3*2+5*3+9*4+10*4+12*1=109 ( c ) WPL=12*2+10*2+9*2+5*3+3*3=86 其中以(c)为最小,下面我们可以证明,它就是哈夫曼树,即带权路径长度最小的树。 图4.43具有不同WPL

文档评论(0)

1亿VIP精品文档

相关文档