自底向上的赫夫曼编码(模拟+哈夫曼树+哈夫曼编码)

本文介绍了如何使用模拟方法自底向上构建哈夫曼树,并详细阐述了哈夫曼编码的生成过程。通过读取字符权值,生成对应的哈夫曼编码,并逐一输出。内容涉及哈夫曼编码的基本概念、树的特点以及编码生成的步骤,特别强调了在静态数组中模拟哈夫曼树的方法和编码规则。
摘要由CSDN通过智能技术生成
  • 题目链接:自底向上的赫夫曼编码(模拟+哈夫曼树+哈夫曼编码)
  • 考查知识:模拟+哈夫曼树+哈夫曼编码
  • 题意描述:
    • 读入n个字符所对应的权值,生成赫夫曼编码,并依次输出计算出的每一个赫夫曼编码。
  • 思路简析:

    哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。

    • 采用静态数组模拟哈夫曼树
    • 哈夫曼树特点:
      • 每个初始结点最终都成为叶结点,且权值(出现频率)越小的结点到根结点的路径长度越大
      • n个叶子结点的哈夫曼树共新建了n-1个结点,总共2*n-1个结点
      • 因为每次都选两棵子树作为新结点的孩子,因此哈夫曼树不存在度为1的结点
      • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值