哈夫曼编码译码器数据结构C语言25074.docVIP

  • 14
  • 0
  • 约5.99千字
  • 约 12页
  • 2016-12-30 发布于江西
  • 举报

哈夫曼编码译码器数据结构C语言25074.doc

哈夫曼编码译码器数据结构C语言25074

站在新起点,迎接新挑战,创造新成绩。 一、需求分析   目前 进行快速远距离通信的主要手段是电报 即将需传送的文字转化成由二级制的字符组成的字符串 例如 假设需传送的电文为ABACCDA 它只有4种字符 只需两个字符的串 便可以分辨 假设A、B、C、D、的编码分别为00 01 10和11 则上述7个字符的电文便为00010010101100 总长14位 对方接受时 可按二位一分进行译码   当然 在传送电文时 希望总长尽可能地短 如果对每个字符设计长度不等的编码 且让电文中出现次数较多的字符采用尽可能短的编码 则传送电文的总长便可减少 如果设计A、B、C、D的编码分别为0 00 1 01 则上述7个字符的电文可转换成总长为9的字符串000011010 但是 这样的电文无法翻译 例如传送过去的字符串中前4个字符的字串0000就可以有很多种译法 或是AAAA或者BB 或者ABA等 因此 若要设计长短不等的编码 则必须是任一字符的编码都不是另一个字符的编码的前缀 这种编码称作前缀编码   然而 如何进行前缀编码就是利用哈夫曼树来做 也就有了现在的哈夫曼编码和译码 二、概要设计 利用哈夫曼树编/译码 (一)、建立哈夫曼树 (二)、对哈夫曼树进行编码 (三)、输出对应字符的编码 (四)、译码过程 主要代码实现: struct code //结构体的定义 { char a

文档评论(0)

1亿VIP精品文档

相关文档