没有合适的资源?快使用搜索试试~ 我知道了~
数据结构课程设计_赫夫曼编译码器
需积分: 10 30 下载量 80 浏览量
2010-05-18
21:40:54
上传
评论 1
收藏 43KB DOC 举报
温馨提示
试读
16页
数据结构课程设计_赫夫曼编译码器。利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码的编/译码系统。
资源推荐
资源详情
资源评论
数据结构课程设计_赫夫曼编译码器
有这样一个课程设计题目
问题描述
利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在
发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道
(即可以双向传输信息的信道),每端都需要一个完整的编译码系统。试为这样的信息收发站写一个哈
夫曼码的编译码系统。
基本要求
一个完整的系统应具有以下功能:
():初始化()。从终端读入字符集大小 ,以及 个字符和 个权值,建立哈夫曼树,
并将它存于文件 中。
():编码()。利用已建好的哈夫曼树(如不在内存,则从文件 中读入),对
文件 中的正文进行编码,然后将结果存入文件 中。
():译码()。利用已建好的哈夫曼树将文件 中的代码进行译码,结果存入文
件 中。
():印代码文件()。将文件 以紧凑格式显示在终端上,每行 ! 个代码。同时将此
字符形式的编码文件写入文件 中。
( ):印哈夫曼树("#)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显
示在终端上,同时将此字符形式的哈夫曼树写入文件 中。
测试数据
()利用下面这道题中的数据调试程序。
某系统在通信联络中只可能出现八种字符,其概率分别为
!$ ,!$%,!$!&,!$!',!$,!$,!$!,!$,试设计哈夫曼编码。
()用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“()"
*+,*-.")"./"-0+*1。
字符 空格 -22"22"22"22"22"22",22"(22"22"322"422"522".
频度 '622"62"2"2""!2"2" 2"&2" &2"22" 22"2"!
字符 7222"+22"22"822"*22")22"22"922"022":22";22"/22"<
频度 &22"62" 2"22"'2" 2"'!2"2"'22"'2"22"62"
实现提示
() 编码结果以文本方式存储在文件 中。
() 用户界面可以设计为“菜单”方式:显示上述功能符号,再加上“81,表示退出运行 8=。请用户键
入一个选择功能符。此功能执行完毕后再显示此菜单,直至某次用户选择了“81为止。
() 在程序的一次执行过程中,第一次执行 , 或 命令之后,哈夫曼树已经在内存了,不必再读入。
每次执行中不一定执行 命令,因为文件 可能早已建好。
下面是对这个问题写的一个程序>但是其中有很多难以理解的地方>请大家多多指教啊$
?=@A$B
?=@A$B
?=@AC$B
?=@D#$B
222""E
22"A="F
222222""GE
22222""HE
22222""E
22222"A=""I#J>IJ>IJE
22222"" !E
22222"KI=!!>IE
22"5"I#E
22""# !E
22""L!E
M"NMO
F
222""E
22"M"ANMOE22"建立树
22"M"NMOE2222"对文件编码
22"M"NMOE22""译码
22"M"A#NMO2"E
2222"LNA="IONANA="OOE
22"#=ANPIIIIIIIIIIIIIIIIIII哈夫曼编译码器演示IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIPOE
22"GNOF
AQ
22"#=ANP$"初始化 $"编码 $"译码 $显示编码表 $"退出POE
22"GNANPRP>SOTLO
22"F
22222"GNNOTLUVUO
22222"=E
222222"#=ANP输入错误TPOE
22222"#=ANP请重新输入!POE
22222"#=ANP$"初始化 $"编码 $"译码 $显示编码表 $"退出POE
222"K
22"AG"NO
22"F
222222"A"Q
222222222"ANOE
22222222"CJE
222222"A"Q
222222222"NOE
22222222"CJE
22222"A"Q
222222222"NOE
222222222"CJE
22222"A"Q
2222222222"A#NOE
222222222"CJE
22222"A" Q
2222222222"N!OE
22222"=Q
222222222"#=ANP输入错误!POE
22222222"#=ANP请重新输入!POE
22222222""AE
22"K
222"K
K
M"ANMO
F
2222"">W>JE
2222"A=""I#>I#>I#>I#E
2222"M"NA=""IOE
2222"M"ANA=""IOE建立每一个字符的编码
2222"M"#NA=""IOE
2222"#=ANP输入字符集的大小:POE
2222"ANPRP>SOE
2222"GNNOTLUVUO
2222"=E
2222"NL!E@EXXO
2222"F
22222222"#LNA=""IONANA="OOE
22222222"#=ANP请输入一个字符POE"
ANPRP>S#YBOE
22222222"GNNOTLUVUO
22222222"=E
22222222"#=ANP请输入该字符的权值QPOE
剩余15页未读,继续阅读
资源评论
max617617
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功