有n个叶结点的哈夫曼树的结点总数为( )

有n个叶结点的哈夫曼树的结点总数为( )


A、

2n-1


B、

2n


C、

2n+1


D、

2n²


【正确答案】:A
【题目解析】:

由哈夫曼算法可知,假设初始森林中共有n棵二叉树,每棵树中都仅有一个孤立的结点,它们既是根又是叶子。算法的第二步是将当前森林中的两棵根结点权值最小的二叉树合并成一棵新的二叉树,合并一次,森林中就减少一棵树,显然要进行n-1次合并才能使森林中的二叉树的数目由n棵减少到只剩下一棵最终的哈夫曼树,并且每次合并都要产生一个新结点。合并n-1次共产生n-1个新结点。

由此可知,最终求得的哈夫曼树中共有2n-1个结点,其中n个叶结点是初始森林中的n个结点,并且哈夫曼树中没有度数为1的分支结点。

故本题选A。


Top