ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

关于霍夫曼算法的若干问题

关于霍夫曼算法的若干问题
  1. 为什么最优编码通过树实现?
    1. 树的层数能够与编码长度产生联系。
    2. 二叉树的双分支与编码的二进制对应(例如,规定向左为0,向右为1)。
    3. 树能够保证字符编码是前缀码。由反证法:假设a的编码是b前缀,不难推出从根节点到b的路径应为根节点到a路径的延长,此结论与哈夫曼算法中字符是叶节点相违背(叶节点为终端,其后无法延长),故假设不成立,a不为b前缀。
  2. 为什么最小带权路径能够保证编码最优?

平均编码长度 =,其中为字符概率,为字符编码长度。

带权路径长度 =,其中为权重,为路径长度。

权重即为字符概率,路径长度即为编码长度,因此平均编码长度等于带权路径长度,即当带权路径长度最小时,平均编码长度最小,编码最优。

返回列表