哈夫曼树的构造.docVIP

  • 20
  • 0
  • 约5.13千字
  • 约 5页
  • 2017-02-08 发布于重庆
  • 举报
哈夫曼树的构造

实验二 哈夫曼树及哈夫曼编码的实现 班级:计算机1131 学号: 10210413121 姓名:卢仁浩 完成时间 一、预习报告 实验目的 1、掌握用Turbo C上机调试层次结构的基本方法; 2、掌握二叉树的结构特性及二叉树的存储结构特征; 3、设计哈夫曼树及哈夫曼编码的实现的程序 ; 基本原理与方法 按哈夫曼树的形成原理构造哈夫曼树操作算法用C语言编程实现 实验设备 PC机一台、配置Turbo C软件 实验内容 要求:1. 输入一个字符串序列,将其构造哈夫曼树; 2. 根据哈夫曼树形成哈夫曼编码; 分析:1. 初始化:将tree[1..m]中的2n-1个结点的3个指针场置空,权值置0; 2. 输入:读入n个叶子的权值存于数组的前n个元素中,形成森林; 3. 合并:对森林中的树进行n-1次合并,产生的新结点存于数组的第i个元素中(n=i=m) 合并分两步:(1) 在当前森林中选两个权值最小的结点s1,s2为合并对象; (2) 将根为左右两个子树组成新树,新树的根为i,则将s1,s2分别送入新树的左右子树指针场中,s1,s2的双亲指针场置为i,且新树的权值 为s1,s2的权值之和。由于s1,s2的双亲指针场已置I,所有再组树时就不会选中它了 实现程序: #include stdio.h #include stdlib.

文档评论(0)

1亿VIP精品文档

相关文档