吴文国《数据结构精品教学》chapter06.pptVIP

  • 0
  • 0
  • 约1.9万字
  • 约 158页
  • 2018-05-13 发布于浙江
  • 举报

吴文国《数据结构精品教学》chapter06.ppt

构造最优二叉树  哈夫曼首先给出了对于给定的叶子数目及其权值构造最优二叉树的方法,故称其为哈夫曼算法。其基本思想是:    s=90 Y N s=80 Y N s=60 Y N s=70 Y N A++ D++ C++ B++ E++ g=“优” 0.25 不及格 0.50 60 .。70 0.10 70 .。80 0.07 80 90 0.08 90 基本思想 根据给定的n个权值wl,w2,…,wn构成n棵二叉树的森林F={T1,T2,…,Tn},其中每棵二叉树Ti中都只有一个权值为wi的根结点,其左右子树均空。 在森林F中选出两棵根结点权值最小的树(当这样的树不止两棵树时,可以从中任选两棵),将这两棵树合并成一棵新树,为了保证新树仍是二叉树,需要增加一个新结点作为新树的根,并将所选的两棵树的根分别作为新根的左右孩子(左右次序无关紧要),将这两个孩子的权值之和作为新树根的权值。 对新的森林F重复(2),直到森林F中只剩下一棵树为止。这棵树便是哈夫曼树。 注意: 初始森林中的n棵二叉树,每棵树有一个孤立的结点,它们既是根,又是叶子 n个叶子的哈夫曼树要经过n-1次合并,产生n-1个新结点。最终求得的哈夫曼树中共有2n-1个结点。 哈夫曼树是严格的二叉树,没有度数为1的分支结点。 n=4叶子,2n-1个结点 结子的度要么为0,要么为2 。这样的树称2阶的正则树。wpl

文档评论(0)

1亿VIP精品文档

相关文档