前言
在数据压缩中,如电脑中的压缩软件,哈夫曼编码应用比较广泛,因此被称作最优二叉树。下面时哈夫曼树的一些定义。
哈夫曼树
定义
代码
下面时哈夫曼树的初始化和创建:
#include "stdio.h"
#define MAXSIZE 5
typedef struct
{
int weigth;
int parent, lchild, rchild;
}htnode, *httree;
void init(httree tree, int n);
void create(httree tree);
void select(httree tree, int i, int *lchild, int *rchild);
void main() {
htnode tree[MAXSIZE * 2];
init(tree, MAXSIZE);
create(tree);
}
void init(httree tree, int n) {
int count = 2*n;
for (size_t i = 1; i < count; i++)
{
htnode *node = (htnode *) malloc (sizeof(htnode));
node->parent = 0;
node->lchild = 0;
node->rchild = 0;
tree[i] = *node;
}
for (size_t i =