哈夫曼树的实现及WPL的计算

哈夫曼树的实现

WPL计算的递归实现:
WPL:所有叶节点带权路径长度之和

//计算WPL,可以采用层序遍历,也可以用随便一种遍历方式的,但是要传递该节点所在的层次
static int WPL = 0;
void GetWPL(BiTree Tree,int Deep=0)
{
    if (Tree!=NULL)
    {
        //对叶子节点进行计算
        if ((Tree->lchild==NULL)&&(Tree->rchild==NULL))
        {
            WPL += (Tree->data)*Deep;
        }
        
        GetWPL(Tree->lchild,Deep+1);
        GetWPL(Tree->rchild,Deep+1);
    }
}

本来想用堆来实现哈夫曼树的简历的,一路下来发现有点麻烦,有空再出来写,考研要紧。
http://www.cnblogs.com/skywang12345/p/3706370.html

你可能感兴趣的:(哈夫曼树的实现及WPL的计算)