Advertisement

哈夫曼树/编码(java实现)

阅读量:

哈夫曼树

相关概念界定

二叉树的带权路径长度:

若某二叉树包含n个具有权重的叶节点,则其带权路径长度可定义为根节点至各叶节点路径长度与对应叶节点权重乘积的总和。通常表示为:

在这里插入图片描述

以四个叶子节点为例,它们的权重依次为{2,3,4,7},依据这些数值可以生成多种结构各异的二叉树形式。

在这里插入图片描述

哈夫曼树: 在已知一组具有固定权值的叶子节点的前提下,构造出带权路径长度最短的二叉树结构,此类二叉树被称为哈夫曼树,同时亦被称作最优二叉树。

哈夫曼树的特点:

  • 在构建哈夫曼树的过程中,权重较大的叶子节点通常更接近根节点,而权重较小的叶子节点则距离根节点较远。(这一特性是构造哈夫曼树的基本原则)
  • 该树结构中仅包含度为0(即叶子节点)和度为2(即分支节点)的节点,不存在度为1的节点。
  • **当哈夫曼

全部评论 (0)

还没有任何评论哟~