基于C语言的哈夫曼转化软件

题目

哈夫曼树、编码:给出一组关键值,建立哈夫曼树,显示该哈夫曼树,并给出每个关键值的哈夫曼编码。

说明:关键值的获得可以选择通过 以下途径:

  1. 给定的一组关键值;
  2. 给定的一个文本;
  3. 随机输入的一段文本。

软件功能

首先给出主页面显示:

运行过程可分为以下几个过程:

  1. 将字符逐个添加到编码表中,计算频率并进行排序
  2. 按照各个字符出现频率(权重)有小到大插入到哈夫曼树中根据字符在书中节点位置给出对应 0、1 编码根据字符编码输出字符串哈夫曼编码

逻辑结构与物理结构

存储数据用的.net framework 表格组件 DataGridView,实质是二维数组,属于逻辑结构。

树结构用的.net framework 树视图组件 TreeView,其节点表示为

本软件实例中其 children 数一直为 2,即

由于 C#没有指针,所以采用连续的数组表示,树结构属于链式存储,是物理结构。重要函数(方法):

程序界面:

会在下面文本框显示导入文件内容(UTF-8)

点击“开始”按钮,在程序执行之前另外两个按钮是灰色的

途中可以选择“终止”或者“暂停”或者“下一步”操作,依据需要选择

通过 C# .Net Framework 控件生成的哈夫曼树,鼠标放在节点上面会显示相关信息

过程中可以通过拖动速度条改变运行速度

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月21日
下一篇 2022年6月21日

相关推荐