早教吧作业答案频道 -->数学-->
若度为m的哈夫曼树中,其叶结点个数为n,则非叶结点的个数为()哈夫曼树不是最优二叉树,那每个结点度数要么是0,1或2,那这道题目怎么会说“度数为m”的哈夫曼树呢?
题目详情
若度为m的哈夫曼树中,其叶结点个数为n,则非叶结点的个数为()
哈夫曼树不是最优二叉树,那每个结点度数要么是0,1或2,那这道题目怎么会说“度数为m”的哈夫曼树呢?
哈夫曼树不是最优二叉树,那每个结点度数要么是0,1或2,那这道题目怎么会说“度数为m”的哈夫曼树呢?
▼优质解答
答案和解析
首先说明一点,我们平时一般所说的哈夫曼树是指最优二叉树,也叫做严格二叉树(注意不是完全二叉树),但是哈夫曼树完全不局限于二叉树,也存在于多叉树中,即度为m的哈夫曼树,也叫最优m叉树,严格m叉树(注意不是完全m叉树).
这种最优m叉树在数据结构中也有应用,比如外部排序中的置换-选择排序法.这种树的典型特点是只有度为0和度为m这两种情况,不存在度大于0,小于m的情况,而我们一般最常接触的就是给你一组数据,让你构造最优m叉树.
但是与最优二叉树不同的是,给你的一组数据不一定恰好能构造出最优m叉树,原因是假设度为0的结点个数为x(也就是叶子结点),度为m的结点个数为y,则存在一个等式x+y=my+1,也就是说x-1能被m-1整除,但是给出你的数据个数(也就是x)不一定能整除啊,怎么办呢?
第一,我们要计算(x-1)%(m-1)是否为0,若为0自然好说,直接构造最优m叉树,若不为0,则需要一些工作了;
第二,假设(x-1)%(m-1)不等于0,怎么办呢?需要给这组数据添上一些数据使其能够整除.添哪些数据呢?又要添几个呢?为了不影响树的构造过程,我们只能够添0,但是添几个合适呢?根据除数m-1和余数,我们不难得到,所添0的个数应为除数和余数的差.这样我们就能够保证总能够构造出最优m叉树.
第三,接下来就需要根据构造最优二叉树的方法来构造最优m叉树,每次选取m个数据,求和后再放入原数据组中(删除那m个数据),继续这一步骤,直到只剩一个数据(根结点).
这种最优m叉树在数据结构中也有应用,比如外部排序中的置换-选择排序法.这种树的典型特点是只有度为0和度为m这两种情况,不存在度大于0,小于m的情况,而我们一般最常接触的就是给你一组数据,让你构造最优m叉树.
但是与最优二叉树不同的是,给你的一组数据不一定恰好能构造出最优m叉树,原因是假设度为0的结点个数为x(也就是叶子结点),度为m的结点个数为y,则存在一个等式x+y=my+1,也就是说x-1能被m-1整除,但是给出你的数据个数(也就是x)不一定能整除啊,怎么办呢?
第一,我们要计算(x-1)%(m-1)是否为0,若为0自然好说,直接构造最优m叉树,若不为0,则需要一些工作了;
第二,假设(x-1)%(m-1)不等于0,怎么办呢?需要给这组数据添上一些数据使其能够整除.添哪些数据呢?又要添几个呢?为了不影响树的构造过程,我们只能够添0,但是添几个合适呢?根据除数m-1和余数,我们不难得到,所添0的个数应为除数和余数的差.这样我们就能够保证总能够构造出最优m叉树.
第三,接下来就需要根据构造最优二叉树的方法来构造最优m叉树,每次选取m个数据,求和后再放入原数据组中(删除那m个数据),继续这一步骤,直到只剩一个数据(根结点).
看了 若度为m的哈夫曼树中,其叶结...的网友还看了以下:
什么时候0大于22大于5呢?玩扑克?--再问个问题;什么时候1大于2大于3大于4大于5大于6大于7 2020-04-11 …
1号茶叶3千克与2号茶叶5千克价钱相等,购买1号茶叶2千克,2号茶叶3千克,共付152元,1·2两 2020-04-26 …
王平的爸爸买了哈密瓜和葡萄两种水果个1千克,共花了9.6元,每千克哈密瓜和葡萄各是多少元?(哈密瓜 2020-05-14 …
英语翻译这是书上的一段话,我想要英文,那位亲请尽快帮我翻译下,哈哈哈哈哈,你是第一个说我像著名女演 2020-05-17 …
为了探究子叶对黄豆芽生长发育的影响,小明选择了60粒大小和质量相同的成熟黄豆种子,并随机分为三组, 2020-05-17 …
哈慈1哈慈2哈慈3 2020-06-03 …
1+1=?哈哈哈哈哈哈,珠联璧合一问一答 2020-06-07 …
科研人员用甜瓜的黄叶植株和绿叶植株进行杂交实验,过程及结果如表.杂交组合杂交结果第1组第2组第3组 2020-06-11 …
某实验小组利用菠菜幼叶和成熟叶的叶圆片在相同的条件下进行实验,结果如下图.据图回答:(1)当NaH 2020-06-17 …
读图和材料,回答下列问题。(1)B图中沿AB线雪线高度的变化规律是(2)A图中的中哈石油管线西起哈 2020-06-22 …