Huffman树
来源:互联网 发布:知乎痴情叔被骂 编辑:程序博客网 时间:2024/06/05 00:13
#include<iostream>#include<cstring>#include<cstdlib>#include<cstdio>#include<stack>#define inf 0x3f3f3f3fusing namespace std;struct HTNode{ int w; int parent,lchild,rchild;}h[110];int hCode[110][1010];int n;void selectMin(int m,int &pos,int &minx){ minx=inf; for(int i=1;i<=m-1;i++) if(h[i].parent==0&&h[i].w<minx) { pos=i; minx=h[i].w; } h[pos].parent=m;}void HuffmanCoding(){ for(int i=n+1;i<=2*n-1;i++) { int s1,s2,min1,min2; selectMin(i,s1,min1); selectMin(i,s2,min2); h[i].w=min1+min2; h[i].lchild=s1; h[i].rchild=s2; h[i].parent=0; } for(int i=1;i<=n;i++) { int num=0; int c=i; for(int j=h[i].parent;j!=0;j=h[j].parent) { if(h[j].lchild==c) hCode[i][num++]=0; else hCode[i][num++]=1; c=j; } for(int j=num-1;j>=0;j--) cout<<hCode[i][j]; cout<<endl; }}int main(){ cin>>n; for(int i=1;i<=n;i++) { cin>>h[i].w; h[i].lchild=h[i].rchild=h[i].parent=0; } HuffmanCoding(); return 0;}
阅读全文
0 0
- Huffman树&&Huffman编码
- Huffman树
- Huffman 树
- huffman树
- huffman 树
- Huffman树
- Huffman树
- Huffman树
- Huffman树
- Huffman树
- Huffman树
- Huffman树
- Huffman树
- Huffman树
- huffman 树
- Huffman树
- Huffman树
- Huffman树
- Exception in thread "main" java.lang.IncompatibleClassChangeError: Found interface com.mysql.jdbc.Co
- HDOJ 3605 Escape 解题报告 二分图匹配 dinic 网络流
- java进制转换
- 扩展.NET 2.0标准配置文件
- 使用 Tango 开发 Unity 应用的原理
- Huffman树
- System.Drawing.Graphics读取带有索引的图片及思考
- 自动登陆网站
- 匈牙利算法+二分答案 BZOJ 4443 小凸玩矩阵 SCOI 2015 题解
- 第2章 windows下搭建开发环境
- 听孔文达老师《IT职业规划经验谈》WEBCAST笔记
- Deep Learning论文笔记之(五)CNN卷积神经网络代码理解
- 在应用URLRewrite功能后自动输出重写过的URL
- ASCII码排序(HDU)