题目
哈夫曼树、编码:给出一组关键值,建立哈夫曼树,显示该哈夫曼树,并给出每个关键值的哈夫曼编码。
说明:关键值的获得可以选择通过 以下途径:
- 给定的一组关键值;
- 给定的一个文本;
- 随机输入的一段文本。
软件功能
首先给出主页面显示:
运行过程可分为以下几个过程:
- 将字符逐个添加到编码表中,计算频率并进行排序
- 按照各个字符出现频率(权重)有小到大插入到哈夫曼树中根据字符在书中节点位置给出对应 0、1 编码根据字符编码输出字符串哈夫曼编码
逻辑结构与物理结构
存储数据用的.net framework 表格组件 DataGridView,实质是二维数组,属于逻辑结构。
树结构用的.net framework 树视图组件 TreeView,其节点表示为
本软件实例中其 children 数一直为 2,即
由于 C#没有指针,所以采用连续的数组表示,树结构属于链式存储,是物理结构。重要函数(方法):
程序界面:
会在下面文本框显示导入文件内容(UTF-8)
点击“开始”按钮,在程序执行之前另外两个按钮是灰色的
途中可以选择“终止”或者“暂停”或者“下一步”操作,依据需要选择
通过 C# .Net Framework 控件生成的哈夫曼树,鼠标放在节点上面会显示相关信息
过程中可以通过拖动速度条改变运行速度
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!