综合实验: 1. 问题描述 利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。这要求在发送端通过一个编码系统对待传输数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站编写一个哈夫曼码的编/译码系统。 2. 基本要求 一个完整的系统应具有以下功能: (1) I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。 (2) E:编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。 (3) D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件Textfile中。 (4) P:印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrin中。 (5) T:印哈夫曼树(Tree printing)。将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint 中。 3. 测试数据 用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAME IS MY FAVORITE”。 字符 A B C D E F G H I J K L M 频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 字符 N O P Q R S T U V W X Y Z 频度 57 63 15 1 48 51 80 23 8 18 1 16 1
2019-12-21 22:14:23 140KB C++ 哈夫曼树 文件压缩解压
1
假设以如下说明的三元组 (F、C、L/R) 序列输入一棵二叉树的诸边(其中 F 表示双亲结点的标识,C 表示孩子结点标识,L/R 表示 C 为 F 的左孩子或右孩子),且在输入的三元组序列中,C 是按层次顺序出现的。设结点的标识是字符类型。F=‘^’时 C 为根结点标识,若 C 亦为‘^’,则表示输入结束。试编写算法,由输入的三元组序列建立二叉树的二叉链表,并以中序序列输出。 ^AL ABL ACR BDL CEL CFR DGR FHL ^^L
2019-12-21 22:10:06 2KB 二叉树实现
1
数据结构课程设计时写的关于文件索引的程序,由于版本有些乱了,上传的这个可能有些问题,敬请谅解
2019-12-21 21:14:14 39KB B树 文件索引
1
在登录服务器系统时,都需要验证用户名和密码,如telnet远程登录服务器。用户输入用户名和密码后,服务器程序会首先验证用户信息的合法性。由于用户信息的验证频率很高,系统有必要有效地组织这些用户信息,从而快速查找和验证用户。另外,系统也会经常会添加新用户、删除老用户和更新用户密码等操作,因此,系统必须采用动态结构,在添加、删除或更新后,依然能保证验证过程的快速。请采用相应的数据结构模拟用户登录系统,其功能要求包括用户登录、用户密码更新、用户添加和用户删除等。
2019-12-21 20:56:51 2.91MB 数据结构 平衡二叉树 用户登入系统
1
功能一:按照树形图打印二叉树,型如: 8 7 11 4 9 10 15 功能2:实现创建一个有序的二叉树 功能3:实现平衡二叉树,对所创建的二叉树进行左旋和右旋,直到成为平衡二叉树。 功能3:按照树中数据删除某个节点,根据数据删除节点,例如:要删除如下树中数据为30的全部节点。(**表示空节点) 60 35 71 30 45 66 78 25 30 40 46 64 66 77 82 ** ** 31 33 ** ** ** ** ** ** ** 67 72 ** ** ** 会转换为: 60 35 71 25 45 66 78 ** 31 40 46 64 66 77 82 ** ** ** 33 ** ** ** ** ** ** ** 67 72 ** ** ** 功能4:可以任意插入树中数据,按照有序树进行插入
2019-12-21 20:44:32 9KB 树状图 数据结构 c/c++ 二叉树
1
vc++实现使用败者树实现外排序 vc++实现使用败者树实现外排序
2019-12-21 20:25:54 4KB 外排序,败者树
1
这个代码是一个四叉树的C#实现,使用四叉树文成一个可视项目。四叉树是一种树结构可以用于编码和2D碰撞检测。多用在2D碰撞检测中,在大量的碰撞检测中可以提高效率,但结构略复杂。
2019-12-21 20:15:12 18KB 四叉树 QuadTree C# 碰撞检测
1
二叉排序树实现 数据结构 c++ 严蔚敏 完全是课本上的
2019-12-21 20:10:32 3KB 二叉排序树 c++ 数据结构 严蔚敏
1
二叉树的实现,是学习灯俊辉版数据结构与算法课程时的练习代码
2019-12-21 20:06:07 11KB 数据结构和算
1
c++实现的平衡树算法,带测试用例,测试中可以添加元素和删除元素,在添加和删除过程中树仍保持平衡
2019-12-21 20:06:07 6KB 平衡树实现 可测试
1