篇一:编译器实验报告甘肃政法学院本科学生实验报告姓名学院专业班级试验时间2012年12月20日指导教师及职称实验成绩开课时间20122013学年1学期实验课程名称编译原理甘肃政法学院实验管理中心印制篇二:编译器测试实验报告深圳大学实验报告课程名称:实验项目名称:学院:计算机与软件学院班级:实验时间:实验报告提交时间:教务处制2342、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。5篇三:哈弗曼编译器实验报告实习报告题目:哈弗曼编译码器班级:电信系通信工程0902班完成日期:201011一、需求分析1、编写哈弗曼编译码器,其主要功能有(1)i:初始化(i
itializatio
)。从终端读入字符集大小
,以及
个字符和
个权值,建立哈夫曼树。(2)e:编码(e
codi
g)。利用已建好的哈夫曼树),对从终端输入的正文进行编码,然后从终端输出。(3)d:译码(decodi
g。利用已建好的哈夫曼树将从终端输入的代码进行译码,结果从终端输出。(4)p:印哈夫曼树(pri
t)。将已编码的的哈夫曼树显示在终端上,同时将此字符形式的哈夫曼树。2、测试数据:输入的字符a,b,c,d,e其对应的权值5,29,7,8,14二、概要设计1、二哈弗曼树的抽象数据类型定义为:adthuffma
tree数据对象dd是具有相同性质的数据元素的集合数据关系r:若dφ,则rφ,哈弗曼树为空
f若d≠φ,则rh,h是如下二元关系:(1)在d中存在唯一的称为根的数据元素root,它在关系h下无前驱(2)若droot≠φ,则存在drootdl,dr。且dl∩drφ(3)若dl≠φ,则dl中存在唯一的数据元素xl,ltrootxlgt属于h,且存在dl上的关系h1属于h。若dr≠φ,则dr中存在唯一的数据元素xr,ltrootxgt属于h,且存在dr上的关系hr属于hhltrootxlgt,ltrootxgt,hl,hr;(4)(dl,hl)是一棵符合本定义的哈弗曼树,称为根的左子树。(dr,hr)是一棵符合本定义的哈弗曼树,称为根的右子树。基本操作:huffma
codi
g(amphtamphcampsum操作结果:建立哈弗曼树并进行编码将编码存放在hc中,并返回字符的个数。e
codi
ghthcsum操作结果:利用已建立的哈弗曼树对字符进行编码decodi
ghuffma
treehthuffma
codehci
tsum操作结果:对输入的密码进行翻译pri
ththcsum操作结果:打印建立好的哈弗曼树adthuffma
tree三、详细设计(1)哈弗曼树每个节点的定义:typedefstructu
sig
edi
tweightu
sig
edi
tpare
tlchildrchildcharelemt20ht
odehuffma
tree(2)定义r