哈夫曼树节点个数一定是奇数 假设哈夫曼树是二叉的话,则度为0的结点个数为N,度为2的结点个数为N-1,则结点总数为2N-1。
哈夫曼树的形态不是唯一的,但是它的带权路径长度WPL是唯一的。 如:3,5,6 可以构造出 14 8 6 3 5 或 14 6 8 3 5 这两种形态,所以哈夫曼树形态不唯一
哈夫曼树不可能存在度为1的结点 生成哈夫曼树的第一步就是在结点集合中找到两个权值最小的结点,然后生成一棵二叉树 树中任意节点的权值一定大于自己的左右孩子,但不能保证一定不小于其他下一任结点的权值。
设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。哈夫曼树不存在入度为1 的结点,所以n0=n2+1 设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有(2m)个空指针域; n0=m 树的二叉链表存储结构就是孩子-兄弟表示法。 孩子-兄弟表示法:数据域是结点,如A; 有两个指针域:1)指向长子 2)指向右兄弟 哈夫曼树的孩子-兄弟表示法的空指针域有三种情况:(1)叶子结点长子域一定为空m个(2)根节点的右兄弟域一定为空 1个 (3)除去根节点外,哈夫曼树的其余结点个数中有一半结点的右兄弟域为空 (n总-1)/2=n2 所以空指针域=m+1+n2=2m
哈夫曼树权值结点的父结点实际上是没有值的
哈夫曼树并不是满二叉树,是正则二叉树(也叫正规二叉树),即其中只有度为0和度为2的结点 因为n0 = n2 + 1,n = n0 + n2; 所以 n = 2n0 - 1,即n0 = (n + 1) / 2;叶子结点n0对应的即是不同的编码。 至于满二叉树当然也是正则二叉树的特例。