实现哈夫曼编码、译码以及打印编码、译码、哈夫曼树等操作,有实验报告和可执行文件
2021-12-15 19:07:16 223KB 数据结构 哈夫曼
1
用python写的,面向对象的哈夫曼编码译码器,有基于Tkinter简单图形界面,可从文件中导入,每个字符的频度存储在文件nodes.txt中,可自行修改,可通过类似于Tree命令的方式输出哈夫曼树,解压后运行dialog.pyw
2021-11-30 14:49:04 8KB python 哈夫曼 Tkinter
1
利用哈夫曼编码进行信息通讯可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码的编译码系统。 一个完整的哈夫曼码的编译码系统系统应具有以下功能: I: 初始化(Initialization)。从终端读入字符集大小n,几个字符和n个权值,建立哈夫曼树,并将它存于文件hfmtree中。 C: 编码(Coding)。利用已建好的哈夫曼树(如不在内存,则从文件hfmtree中读入),对文件tobetrans中的正文进行编码,然后将结果存入文件codefile中。 D: 译码(Decoding)。利用已建好的哈夫曼树将文件codefile中的代码进行译码,结果存入文件textfile中。 P: 打印代码文件(Print)。将文件codefile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件codeprint中。 T: 打印哈夫曼树(Tree printing)。将已在内存中的哈夫曼树以直观的方式(数或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件treeprint中。
1
设计一个哈夫曼编码/译码系统,对一个文本文件中的字符进行哈夫曼编码,生成编码文件(后缀名.cod);反过来,可将一个编码文件还原为一个文本文件(.txt)。 要求: (1)输入一个待编码的文本文件名,统计文本文件中各字符的个数作为权值,生成哈夫曼树; (2)将文本文件利用哈夫曼树进行编码,生成编码文件(后缀名cod); (3)输入一个待解码的编码文件名称,并利用相应的哈夫曼树将编码文件译码; (4)显示指定的编码文件和文本文件; (5)把哈夫曼编码用二进制位紧缩到一个变量中,利用位运算进行真正的数据压缩,并求压缩比。(此选项选作)
1
设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。 基本要求: (1)将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中) (2)分别采用动态和静态存储结构 ......
1
可以根据一段电文设计赫夫曼编码,并用该编码对一段给定的电文进行译码
2021-07-01 14:06:39 26.68MB 云南大学 数据结构 第五次实验
1
在当今信息爆炸时代,如何采用有效的数据压缩技术节省数据文件的存储空间和计算机网络的传送时间已越来越引起人们的重视,哈夫曼正是一种应用广泛且非常有效的数据压缩技术。哈夫曼编码的应用很广泛,利用哈夫曼树求得用于通信的二进制编码称为哈夫曼编码。树中从根到每一个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表示“0”码,指向右子树的分支表示“1”码,取每条路径上的“0”或“1”的序列作为和各叶子对应的字符的编码,这就是哈夫曼编码。而与之相反的过程就称为译码。本文主要完成哈夫曼树的建立、哈夫曼编码和译码的功能。我们主要运用的数据结构是哈夫曼结点结构和编码结构,采用顺序链表形式存储。整体思路清晰明了,算法通俗易懂,通过调试运行,执行结果真确。
2021-01-20 14:54:30 160KB 哈夫曼;编码;译码;
1
绝对是完整的可以运行的程序!首先输入随便一段字符,根据字符的多少确定权值,最后编码译码。形象输出二叉树!
2020-01-03 11:16:09 10KB 哈夫曼 c语言
1
用C++实现的哈夫曼编译码器,可以实现创建哈夫曼树、对txt文件进行编码、译码,也可以查看生成的哈夫曼树。数据结构作业参考之必备品。
2019-12-21 22:01:27 6.17MB 哈夫曼编码 数据结构作业 哈夫曼树
1
1.本设计要求写一个哈夫曼编码/译码系统。 要求: 1.初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。 2.编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。 3.译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。 4.打印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码写入文件CodePrint中。 5.打印哈夫曼树(Tree Printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint中。 资源包括: 论文(分析、代码说明、逻辑结构) 代码 测试文件
2019-12-21 21:42:26 404KB C++
1