文件名称:hftree
介绍说明--下载内容均来自于网络,请自行研究使用
一开始将所有的2n-1个节点的parent,lchild,rchild都赋初值-1
对于每个非叶子节点ht[i](存放在ht[n]~ht[2n-1]中),从h[0]~ht[i-1]中找到两个最小的且parent=-1(即还未加入到haffuman树中的节点,设为smin,fmin)作为ht[i]左右孩子,并且修改ht[i]的权值ht[i].w=ht[smin].w+ht[fmin].w
如此反复直到所有非叶子节点均已处理完
树的结点元素类型如下
struct htnode
{
int w
int parent,lchild,rchild //三个域分别保存当前节点的双亲,左孩子,友孩子
char info //存储字符
}
-creat hafmantree
对于每个非叶子节点ht[i](存放在ht[n]~ht[2n-1]中),从h[0]~ht[i-1]中找到两个最小的且parent=-1(即还未加入到haffuman树中的节点,设为smin,fmin)作为ht[i]左右孩子,并且修改ht[i]的权值ht[i].w=ht[smin].w+ht[fmin].w
如此反复直到所有非叶子节点均已处理完
树的结点元素类型如下
struct htnode
{
int w
int parent,lchild,rchild //三个域分别保存当前节点的双亲,左孩子,友孩子
char info //存储字符
}
-creat hafmantree
(系统自动生成,下载前可以参看下载内容)
下载文件列表
hftree.cpp