实验四哈夫曼树与哈夫曼编码.docVIP

  • 25
  • 0
  • 约5.45千字
  • 约 9页
  • 2018-12-30 发布于安徽
  • 举报
实用标准文案 精彩文档 实验四 哈夫曼树与哈夫曼编码 一、实验内容 [问题描述]   已知n个字符在原文中出现的频率,求它们的哈夫曼编码。 [基本要求]   1. 初始化:从键盘读入n个字符,以及它们的权值,建立Huffman 树。(具体算法可参见教材P147的算法6.12)   2. 编码:根据建立的Huffman树,求每个字符的Huffman编码。 对给定的待编码字符序列进行编码。 二、概要设计 算法设计: 要是实现哈夫曼树的操作,首先创建一个哈夫曼树,在创建哈夫曼树的时候,对哈夫曼树的叶子和非叶子结点进行初始化,而在建立哈夫曼树时,最难的该是选择权值最小的两个顶点,然后两个结点的权值和作为新的权值,再选择两个权值最小的作为新的两个结点创建一个小的二叉树的子树;创建哈夫曼树后,进行编码,在编码过程中,先找到根,然后遍历,左孩子用0标记,右孩子用1标记,最后将编码好的哈夫曼树进行输出,就可以知道哈夫曼树的编码了。 流程图: 开始 开始 输入哈弗曼树的带权结点数目 n 输入相应的权值和对应的字符 建立哈夫曼树Huffmantree(HT,w,n,e) 显示哈夫曼树outputHuffman(HT,m) 哈夫曼树的编码 CHuffmancode(HT,HC,n) 结束 算法: 主函数 主函数 Huffmantree(HuffmanTree HT,int*w,int n,char

文档评论(0)

1亿VIP精品文档

相关文档