对n(n≥2)个权值均不相同的字符构造哈夫曼树。下列关于该哈夫曼树的叙述中,错误的是()。【2010年
对n(n≥2)个权值均不相同的字符构造哈夫曼树。下列关于该哈夫曼树的叙述中,错误的是()。【2010年全国试题6(2分)】
A.该树一定是一棵完全二叉树
B.树中一定没有度为1的结点
C.树中两个权值最小的结点一定是兄弟结点
D.树中任一非叶结点的权值一定不小于下一层任一结点的权值
对n(n≥2)个权值均不相同的字符构造哈夫曼树。下列关于该哈夫曼树的叙述中,错误的是()。【2010年全国试题6(2分)】
A.该树一定是一棵完全二叉树
B.树中一定没有度为1的结点
C.树中两个权值最小的结点一定是兄弟结点
D.树中任一非叶结点的权值一定不小于下一层任一结点的权值
对n(n大于等于2)个权值均不相同的字符构成哈夫曼树,关于该树的叙述中,错误的是()
A.该树一定是一棵完全二叉树
B.树中一定没有度为1的结点
C.树中两个权值最小的结点一定是兄弟结点
D.树中任一非叶结点的权值一定不小于下一任一结点的权值
算法3-9:Haffman编码 Description 哈弗曼编码大家一定很熟悉吧(不熟悉也没关系,自己查去。。。)。现在给你一串字符以及它们所对应的权值,让你构造哈弗曼树,从而确定每个字符的哈弗曼编码。当然,这里有一些小规定: 1.规定哈弗曼树的左子树编码为0,右子树编码为1; 2.若两个字符权值相同,则ASCII码值小的字符为左孩子,大的为右孩子; 3.创建的新节点所代表的字符与它的左孩子的字符相同; 4.所有字符为ASCII码表上32-96之间的字符(即“ ”到“`”之间的字符)。 Input 输入包含多组数据(不超过100组) 每组数据第一行一个整数n,表示字符个数。接下来n行,每行有一个字符ch和一个整数weight,表示字符ch所对应的权值,中间用空格隔开。 输入数据保证每组测试数据的字符不会重复。 Output 对于每组测试数据,按照输入顺序输出相应的字符以及它们的哈弗曼编码结果,具体格式见样例。 Sample Input3 a 10 b 5 c 8 4 a 1 b 1 c 1 d 1Sample Outputa:0 b:10 c:11 a:00 b:01 c:10 d:11
(1)以2,3,4,7,8,9作为叶结点的权,构造一棵哈夫曼树(要求每个结点的左子树根结点的权小于等于右子树根结点的权),给出相应权重值叶结点的哈夫曼编码。
(2)一棵哈夫曼树有n个叶结点,它一共有多少个结点?简述理由。
A、该树一定是一棵完全二叉树
B、树中一定没有度为1的结点
C、树中两个权值最小的结点一定是兄弟结点
D、树中任何一个非叶结点的权值一定不小于下一层任一结点的权值
若用n个权值构造一颗最优二叉树(哈夫曼树),则该二叉树的结点总数为()
A.2n
B.2n-1
C.2n+1
D.2n+2
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!