数据结构赫夫曼树课程设计.docVIP

  • 13
  • 0
  • 约3.86千字
  • 约 8页
  • 2018-10-16 发布于湖北
  • 举报
数据结构赫夫曼树课程设计

《数据结构》课程设计 题目:赫夫曼树的建立 一、需求分析 众所周知,最优二叉树(赫夫曼树)在解决很多判定问题时,有着无可比拟的优势。同时,在目前,进行快速远距离通信的主要手段主要是电报,即将需传送的文字转换成由二进制的字符组成的字符串。而在文字的转换编码中,也必然要用到赫夫曼算法才能使传送的电文尽可能地短。 所以,本程序主要目的就是是利用赫夫曼算法快速生成一个普通二叉树的最优二叉树(赫夫曼树),同时本程序还可以生成对每个结点对应的赫夫曼编码。 在这个程序中主要有3个函数: InitHaffman函数:完成对树的结点进行初始化。 Haffman函数:用于构造赫夫曼树并生成相应的赫夫曼编码。 OutputHaffman函数:输出赫夫曼树和编码。 二、概要设计 赫夫曼算法的叙述过程: (1)根据给定的n个权值{w1,w2,……,wn}构成n棵二叉树的集合F={T1,T2,……,Tn},其中每棵二叉树Ti中只有一个带权为wi的根结点,其左右子树均空。 (2)在F中选取两棵根结点的权值最小的树作为左右子树构造一棵新的二叉树,且置新的二叉树的根结点的权值为其左、右子树上根结点的权值之和。 (3)在F中删除这两棵树,同时将新得到的二叉树加入F中。 (4)重复(2)和(3),直到F 只含一棵树为止。这棵树便是赫夫曼树。 程序大体设计流程: 定义全局变量构造赫夫曼树的存储结构定义InitHaffm

文档评论(0)

1亿VIP精品文档

相关文档