关于构造赫夫曼树的问题 构造赫夫曼树要求:根据任意给定若干结点的权值,构造一棵最优二叉树并给出对应的编码.怎么写算法,

来源:学生作业帮助网 编辑:作业帮 时间:2024/08/12 06:11:17
关于构造赫夫曼树的问题 构造赫夫曼树要求:根据任意给定若干结点的权值,构造一棵最优二叉树并给出对应的编码.怎么写算法,
xՔn@_er,aMl*`H,ceT)-)A[R҆"eQH)U'OcI]!;gsf%m_]=iƗާSfD{/n{O>&=3ҞCwpH{wϏ=?{FBբ/ۖ;:t/g," 3b1\]y=>zq jf nCl;20k`K[!, sȁ9YEEp}uPRC4mjU&s,ĖH=^ q[ &@߄ ф@,+6*; b+& gNy g`U"Z\Gd,SNXKٸ `kdHt=5)lTR%Q `̨Dұ< ~&MR3)=P?sA|]iەj1#++,-[أ>Vf`wةIl[` 4& vމg?ǿcvgn9?CzV$$rN%5QUuüJ

关于构造赫夫曼树的问题 构造赫夫曼树要求:根据任意给定若干结点的权值,构造一棵最优二叉树并给出对应的编码.怎么写算法,
关于构造赫夫曼树的问题
构造赫夫曼树
要求:根据任意给定若干结点的权值,构造一棵最优二叉树并给出对应的编码.
怎么写算法,

关于构造赫夫曼树的问题 构造赫夫曼树要求:根据任意给定若干结点的权值,构造一棵最优二叉树并给出对应的编码.怎么写算法,
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
typedef char ElemType;
typedef struct
{
ElemType elem;
unsigned int m_weight;
unsigned int parent,lchild,rchild;
}HTNode,*HuffmanTree;
typedef char** HuffmanCode;
typedef int Status;
typedef struct weight
{
char elem;
unsigned int m_weight;
}Weight; // save the information of the symbolizes;
void HuffmanCoding(HuffmanTree *,HuffmanCode *,Weight *,int);
void Select(HuffmanTree,int,int *,int *);
void OutputHuffmanCode(HuffmanTree,HuffmanCode,int);
Status main(void)
{
HuffmanTree HT;
HuffmanCode HC;
Weight *w;
char c; // the symbolizes;
int i,n; // the number of elements;
int wei; // the weight of a element;
printf("请输入要编码的字符种类数:" );
scanf("%d",&n);
w=(Weight *)malloc(n*sizeof(Weight));
for(i=0;i