#include<cstdio>
#include<cstring>
#include<climits>
#include<algorithm>
using namespace std;
const int maxn=110;
struct tree{
int w;
int left,right;
int parent;
}node [maxn*2];
void search(int &a,int &b,int n){
int min=INT_MAX;
for(int i=0;i<n;i++){
if(node[i].parent==0&&node[i].w<min){
min=node[i].w;
a=i;
}
}
min=INT_MAX;
for(int i=0;i<n;i++){
if(node[i].parent==0&&node[i].w<min&&i!=a){
min=node[i].w;
b=i;
}
}
if(a>b){
swap(a,b);
}
}
void creat(int n,int *w,char **&ans){//ans二维字符数组也是引用&&&&&&&&&!!!
//chu shi hua;
for(int i=0;i<n;i++){
node[i].w=w[i];
node[i].parent=node[i].left=node[i].right=0;
}
//jian shu;
int a,b;
for(int i=n;i<2*n-1;i++){
search(a,b,i);
问题 A: 算法6-12:自底向上的赫夫曼编码
最新推荐文章于 2022-11-09 23:40:43 发布
本文深入探讨了自底向上的方法来构建赫夫曼编码,详细阐述了算法流程,包括如何通过合并最小权重节点构建赫夫曼树,并从树结构导出编码。通过对实例的分析,揭示了该方法在效率和理解上的优势。
摘要由CSDN通过智能技术生成