关于构造赫夫曼树的问题 构造赫夫曼树要求:根据任意给定若干结点的权值,构造一棵最优二叉树并给出对应的编码.怎么写算法,
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/12 06:11:17
![关于构造赫夫曼树的问题 构造赫夫曼树要求:根据任意给定若干结点的权值,构造一棵最优二叉树并给出对应的编码.怎么写算法,](/uploads/image/z/10122957-45-7.jpg?t=%E5%85%B3%E4%BA%8E%E6%9E%84%E9%80%A0%E8%B5%AB%E5%A4%AB%E6%9B%BC%E6%A0%91%E7%9A%84%E9%97%AE%E9%A2%98+%E6%9E%84%E9%80%A0%E8%B5%AB%E5%A4%AB%E6%9B%BC%E6%A0%91%E8%A6%81%E6%B1%82%EF%BC%9A%E6%A0%B9%E6%8D%AE%E4%BB%BB%E6%84%8F%E7%BB%99%E5%AE%9A%E8%8B%A5%E5%B9%B2%E7%BB%93%E7%82%B9%E7%9A%84%E6%9D%83%E5%80%BC%2C%E6%9E%84%E9%80%A0%E4%B8%80%E6%A3%B5%E6%9C%80%E4%BC%98%E4%BA%8C%E5%8F%89%E6%A0%91%E5%B9%B6%E7%BB%99%E5%87%BA%E5%AF%B9%E5%BA%94%E7%9A%84%E7%BC%96%E7%A0%81.%E6%80%8E%E4%B9%88%E5%86%99%E7%AE%97%E6%B3%95%2C)
关于构造赫夫曼树的问题 构造赫夫曼树要求:根据任意给定若干结点的权值,构造一棵最优二叉树并给出对应的编码.怎么写算法,
关于构造赫夫曼树的问题
构造赫夫曼树
要求:根据任意给定若干结点的权值,构造一棵最优二叉树并给出对应的编码.
怎么写算法,
关于构造赫夫曼树的问题 构造赫夫曼树要求:根据任意给定若干结点的权值,构造一棵最优二叉树并给出对应的编码.怎么写算法,
#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