电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

完整版试验七哈夫曼编码试验VIP免费

完整版试验七哈夫曼编码试验_第1页
1/7
完整版试验七哈夫曼编码试验_第2页
2/7
完整版试验七哈夫曼编码试验_第3页
3/7
树和二叉树实验七哈夫曼编码哈夫曼编码1. 问题描述设某编码系统共有n 个字符, 使用频率分别为{ w1, w2, ⋯ , wn} ,设计一个不等长的编码方案,使得该编码系统的空间效率最好。2. 基本要求⑴ 设计数据结构;⑵ 设计编码算法;⑶ 分析时间复杂度和空间复杂度。3. 编码#include #include using namespace std; const int Size=10,Size1=50; struct element { int weight; int lchild,rchild,parent; }; char s[Size];int w[Size],w1[Size]; int getW(char T1[]) //统计字母频率,获得权值{ char T[Size1]; strcpy(T,T1); char c;int count,k=0; for(int i=0;T[i]!='\0';i++) { count=0; if(T[i]>='a'&&T[1]<='z') { c=T[i]; s[k]=c;s[k+1]='\0'; } 树和二叉树if(c!='\0') { for(int j=0;T[j]!='\0';j++) { if(T[j]==c) { count++; T[j]='$'; } } } if(c!='\0') { w1[k]=count; w[k++]=count; } c='\0'; } return k; } void Select(element h[],int &i3,int &i4)//获得哈夫曼数组中权值最小的两个下标{ int c; i3=-1;i4=-1; for(int i=0;i3==-1;i++) if(h[i].parent==-1) i3=i; for(i;i4==-1;i++) if(h[i].parent==-1) i4=i; if(h[i3].weight>h[i4].weight) { c=i3; i3=i4; i4=c; } for(i;h[i].weight>0;i++) { if(h[i].parent==-1) 树和二叉树if(h[i].weight

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

完整版试验七哈夫曼编码试验

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群