您现在的位置是:源码地带 > 资源下载

构造哈夫曼树 哈弗曼树中没有度为一的节点

  • 上传时间: 2016-06-13
  • 上传用户:SnowCat
  • 资源积分:2 下载积分
  • 标      签: 节点

资 源 简 介

构造哈夫曼树 哈弗曼树中没有度为一的节点,是标准的二叉树,所以有n个叶子结点时,需要一个长度为2n-1的一维数组存储哈弗曼树的结点。 (1)、n个叶子节点只有weight权值,处理非叶子节点,从ht[i](ht[1]~ht[n-1])中找到ht[i].weight最小的两个节点ht[s1]和ht[s2],这就是Select(int n,int &s1,int & s2,HTNode *ht)函数完成的功能。 (2)、调用select函数,并将ht[s1]和ht[s2]作为ht[l]的左右子树,即ht[s1]和ht[s2]双亲节点为ht[l],新的根节点的权值为其左右子树权值之和, ht[l].weight=ht[s1].weight+ht[s2].weight

相 关 资 源