哈夫曼一(国外英语资料).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
哈夫曼一(国外英语资料)

哈夫曼一(国外英语资料) #包括“图形。” #包括“程序。” #包括“stdio. h” #包括“是的。” #定义马克斯53 焦bmfile [ 10 ]; 字符[ 100 ]; typedef struct {字符C,S [ 10 ] }; 毫米[ 53 ]; 定义/ * * /以数组存储哈夫曼树时的结点类型 的字符; int W、LCD、RCD、PT;/ * * /权值、左孩子、右孩子、双亲 } HuffNode; huffnode HM [最大]; typedef struct CNODE方法/ Auffman编码的结点类型*/ 的字符串; struct CNODE方法* PRV; }代码; 代码光盘; wjbm1(char [])/ * * /从文件中读取要进行编码的字符 {文件* FP3; ch; I = 0,n = 0,k,t,m; / * printf(“\n输入要编码的文件名:”); scanf(“%s”,bmfile);* / 如果((FP3 = fopen(“bmfile .txt”、“R”))= = null) { printf(“\n文件不存在”); 出口(0);} 而(!外汇经营资金(FP3)) 一个[我] =指针++(FP3); 一[ 0 ]; 对于(我= 0;一)!=“0”;i + +) {如果(一个[我] = A和一个[我] = Z){嗯一个[我] [ 65 ]。CH =一个[我];[我] HM [ 65 ]。W + +;} 如果(一个[我] = A和一个[我] = Z){嗯一个[我] [ 71 ]。CH =一个[我];[我] HM [ 71 ]。W + +;} 如果(a = i = = ]){ HM [ 52 ]。CH = ;HM [ 52 ]。 } 对于(i = 0;i 53;i + +) 如果(HM)!= 0) 是真的; 是真的,他是我的; HM = N。LCD = 1; HM [N]。RCD = - 1; 陛下[ N ]; N +;} 关闭文件(FP3); 返回N; } zfbm1(char []) { int = 0,我; 得到(甲); 对于(我= 0;一)!=“0”;i + +) {如果(一个[我] = A和一个[我] = Z){嗯一个[我] [ 65 ]。CH =一个[我];[我] HM [ 65 ]。W + +;} 如果(一个[我] = A和一个[我] = Z){嗯一个[我] [ 71 ]。CH =一个[我];[我] HM [ 71 ]。W + +;} 如果(a = i = = ]){ HM [ 52 ]。CH = ;HM [ 52 ]。 } printf(“\n叶字信息(字符、权值):”); 对于(i = 0;i 53;i + +) 如果(HM)!= 0) { printf(“(%,%)”,HM [我],[我]的CH,HM。W); 是真的; 是真的,他是我的; HM = N。LCD = 1; HM [N]。RCD = - 1; 陛下[ N ]; N +;} 返回N; } chartj() 的字符串; int i; printf(“N1 -从文件中读取字符生成树;2从键输入字母生成树;3退出;\n”); 而(1) 开关(C = getch()) {案例1:wjbm1(一);返回; 案例2:把(“\n输入字母”);zfbm1(一);返回; 案例3:返回; 默认值:printf(“\n输入无效,重新输入”);scanf(“%d”, C);} } 虚空HuffmanCode(int n)/ * * / N为哈夫曼树的叶子数哈夫曼编码。 { i,k,t; 代码*,* h; CD =(代码*)malloc(sizeof(代码)* N);/*用于存储每个叶子的编码(链栈)* / 为(i = 0;i n;i++)/ * * / + 1个叶子搜索第我 { =我;h = 0; 而((HM + K) PT = 0) {如果((HM +(HM + K) PT) LCD = K)t = 0;否则T = 1; P =(代码*)malloc(sizeof(代码)); P - C = 48 + T;P - PRV = H;H = P; k =(HM + K); } CD [我]。PRV = H; } } 无效dispcodes(int n)/ * * /显示 { i,j = 0; 代码*; 对于(I = 0;i;n;i + +) { p = CD [我]。PRV; / * printf(“\n %c:”,HM [我],CH);* / 毫米[毫米] = C = HM I; J = 0; 而(P) { { /* printf(“%c”,P>C);* /毫米[我]的[ J ] = P + -

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档