- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
赫夫曼编译器的简单实现
(本实验项目方案受“教育部人才培养模式创新实验区(X3108005)”项目资助)
实验难度: A □ B □ C ★
序号 学号 姓名 成绩 1 2 3 指导教师 (签名)
学 期: 2010秋季学期
任课教师:
实验题目:
小 组 长:
联系电话:
电子邮件:
完成提交时间: 年 月 日
(下面的内容由学生填写,格式统一为,字体: 楷体, 行距: 固定行距18,字号: 小四,个人报告按下面每一项的百分比打分。难度A满分70分,难度B满分90分)
一、【实验构思(Conceive)】(10%)
(本部分)Design)】(20%)
(本部分)void Select(HuffmanTree HT,int i,int s1,int s2)
{
int j, k;
for(k = 1; k i; k++)
{
if(HT[k].parent != NULL)
continue;
s1 = k;/*init the number*/
break;
}
for(j = 1; j i; j++)
{
if(HT[j].parent != NULL)
continue;
if(HT[j].weight HT[s1].weight)
s1 = j;
}
for(k = 1; k = i; k++)
{
if(HT[k].parent != NULL || k == s1)
continue;
s2 = k;
break;
}
for(j = 1; j i; j++)
{
if(HT[j].parent != NULL)
continue;
if(HT[j].weight = HT[s2].weight j != s1)
s2 = j;
}
}
2、从叶子到根逆向求每个字符的赫夫曼编码(主要是参照书本上的算法)
void HuffmanCoding(HuffmanTree HT,HuffmanCode HC,char *zi,int *w,int n)
HuffmanTree p;
{
int m,i,s1,s2,f,c;
int Istart = 1;
char *cd;
if(n = 1)
return;
m = 2*n-1;
if(!(HT=(HuffmanTree)malloc((m+1)*sizeof(HTNode))))
exit(OVERFLOW);
for(p=HT+1,i=1;i=n;++i,++zi,++p,++w)
{
/*生成独立的森林*/
p-parent = NULL;
p-letter = *zi;
p-lchild = NULL;
p-rchild = NULL;
p-weight = *w;
}
for(;i=m;++i,++p)
{
(*p).weight=0;
(*p).parent=0;
(*p).lchild=0;
(*p).rchild=0;
}
for(i=n+1;i=m;++i)
{
Select(HT,i-1,s1,s2);
HT[s1].parent=i;
HT[s2].parent=i;
HT[i].lchild=s1;
HT[i].rchild=s2;
HT[i].weight=HT[s1].weight+HT[s2].weight;
}
HC=(HuffmanCode)malloc((n+1)*sizeof(char *));
cd=(char*)malloc(n*sizeof(char));/*临时的code存储*/
cd[n-1]=\0;
for(i=1;i=n;++i)
{
Istart = n - 1;
/*按已生成的哈夫曼树,得到各个字符的哈夫曼编码
*/
for(c = i, f = HT[i].parent; f != 0; c = f, f = HT[f].parent)
if(HT[f].lchild == c)
cd[--Istart] = 0;
else
cd[--Istart] = 1;
HC[i]
您可能关注的文档
- 董事会会议记录模板_演讲主持_工作范文_实用文档.doc
- 荷兰买2015年天猫国际运营规划案.pptx
- 董事会材料一:董事会工作报告.doc
- 董事会材料三:财务决算报告.doc
- 蓓苗幼儿园小班下学期1-18周周计划和教案.doc.doc
- 菜鸟驿站案例分析.ppt.ppt
- 蔡雯新闻编辑学考试要点.doc.doc
- 葛西临海水族馆.doc
- 蚶江镇中心校2016年春季工作计划.doc
- 蒋军晶《从课堂走向课程——我的语文之路》.doc
- DB23_T 3866-2024冰上龙舟赛事组织服务规范.docx
- DB32 2163-2012 棉纱单位可比综合电耗限额及计算方法.docx
- DB32∕T 2429-2013 棉花田间生长发育观察记载规范.docx
- DB23_T 3820-2024 工业互联网综合平台数据质量管理规范.docx
- DB23_T 3474-2023非煤智慧矿山信息系统技术规范.docx
- DB3201_T 1106-2022 工程地质层划分技术规范.docx
- DB33T 2515-2022公共机构“零碳”管理与评价规范.docx
- DB3301_T 0415-2023 装修垃圾收运处置管理规范.docx
- DB3311/T 106―2019“丽水山居”民宿服务要求与评价规范.docx
- DB3201T 1127-2022 慈善捐赠受赠管理规范.docx
最近下载
- 亿赛通电子文档安全管理系统V5.0--客户端使用手册V1113379.pdf VIP
- [标准规范]煤矿窄轨铁道维修质量标准及检查评级办法(精编).doc VIP
- 人教统编版小升初语文总复习专题七:句式变换课件(共28张PPT).ppt VIP
- 2025重庆永川区板桥镇村(社区) 后备干部选拔笔试备考试题及答案解析.docx VIP
- 深度解析《GBT 44026-2024预制舱式锂离子电池储能系统技术规范》.pptx
- 品质部各岗位职责说明书.pdf VIP
- 2022.01 深圳南山红花岭工业区城市更新项目一期建筑方案设计 华艺.pdf VIP
- 电冰箱安全技术规程培训.pptx VIP
- 07FK02 防空地下室 通风设备安装.pdf VIP
- 解决我国农民负担问题的路线图设想-中国发展.pdf
文档评论(0)