#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
//哈夫曼树的相关算法
#define MAXVALUE 10000
#define MAXLEAF 30
#define MAXNODE MAXLEAF*2-1
typedef struct
{
int weight;
int parent;
int lchild;
int rchild;
}Hnode, HuffmanTree[MAXNODE];
void CHuffmanTree(HuffmanTree ht, int w[], int n)//w[]数组存放权值,有n个叶子结点
{
int i, j, m1, m2, x1, x2;
for (i = 0; i<2 * n - 1; i++)
{
ht[i].weight = 0;
ht[i].parent = -1;
ht[i].lchild = -1;
ht[i].rchild = -1;
}
for (i = 0; i<n; i++) ht[i].weight = w[i];//n个叶子结点赋予权值。
//构造哈夫曼树
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余3页未读,立即下载