设给定权集W={4,5,6,7,10,12,18},试构造出关于W的哈夫曼树,并求出其加权路径长度WPL。
答:(1)根据权集构造哈夫曼树如下:
(2)加权路径WPL=(12+18)*2+(6+7+10)*3+(4+5)*4=165。
(1)构造Huffman树的思想为:给定n个权值,构成n棵二叉树的集合F,在F中选取两棵根结点的权值最小的树,作为左右子树,构建一个新的树,使新树的权值为左右子树的和。在F中删除这两棵树,并在F添加新的二叉树的根结点的值。重复上述步骤直至F中只有一棵树,该树即为Huffman树。在哈夫曼编码中,左分支为0,右分支为1。每个字母对应的结点都是叶子结点,每个结点的编码不会是其他结点的前缀。(2)树的带权路径长度为树中所有叶子结点的带权路径长度之和。哈夫曼树为带权路径长度最小的二叉树。一个结点的带权路径长度为叶子结点的权值*从根到叶子的路径长度,将所有叶子结点的带权路径长度相加即为树的带权路径长度。【考点】本题考查哈夫曼树的构造及加权路径长度的计算。
扫描微信二维码,添加您的专属老师为好友
您在考试中遇到任何问题,老师都会帮您解答
您希望我们通过哪种方式与您联系?
您已选择电话/微信/QQ的联系方式,课程顾问会尽快联系您!
您已选择微信联系方式,课程顾问会尽快添加您的微信,请您确认通过!
您已选择QQ联系方式,课程顾问会尽快添加您的QQ,请您确认通过!
您已选择电话联系方式,课程顾问会尽快联系您!
您已选择“不联系”,课程顾问不会主动联系您。如果后续您有需求,可以在个人中心主动添加销售微信或拨打客服电话:400-111-9811