教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

第6章_数据结构习题题目及答案_树和二叉树_参考答案

来源:网络收集 时间:2026-09-07
导读: 一、基础知识题 6.1设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1,求树T中的叶子数。 【解答】 设度为m的树中度为0,1,2, ,m的结点数分别为n0, n1, n2, , nm,结点总数为n,分枝数为B,则下面二式成立 n= n0+n1+n2+ +nm (1) n=B+1= n1+2n2 +

一、基础知识题

6.1设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1,求树T中的叶子数。

【解答】 设度为m的树中度为0,1,2, ,m的结点数分别为n0, n1, n2, , nm,结点总数为n,分枝数为B,则下面二式成立

n= n0+n1+n2+ +nm (1)

n=B+1= n1+2n2 + +mnm+1 (2)

由(1)和(2)得叶子结点数n0=1+

即: n0=1+(1-1)*4+(2-1)*2+(3-1)*1+(4-1)*1=8

6.2一棵完全二叉树上有1001个结点,求叶子结点的个数。

【解答】因为在任意二叉树中度为2 的结点数n2和叶子结点数n0有如下关系:n2=n0-1,所以设二叉树的结点数为n, 度为1的结点数为n1,则

n= n0+ n1+ n2

n=2n0+n1-1

1002=2n0+n1

由于在完全二叉树中,度为1的结点数n1至多为1,叶子数n0是整数。本题中度为1的结点数n1只能是0,故叶子结点的个数n0为501.

注:解本题时要使用以上公式,不要先判断完全二叉树高10,前9层是满二叉树,第10层都是叶子, 。虽然解法也对,但步骤多且复杂,极易出错。

6.3 一棵124个叶结点的完全二叉树,最多有多少个结点。

【解答】由公式n=2n0+n1-1,当n1为1时,结点数达到最多248个。

6.4.一棵完全二叉树有500个结点,请问该完全二叉树有多少个叶子结点?有多少个度为1的结点?有多少个度为2的结点?如果完全二叉树有501个结点,结果如何?请写出推导过程。

【解答】由公式n=2n0+n1-1,带入具体数得,500=2n0+n1-1,叶子数是整数,度为1的结点数只能为1,故叶子数为250,度为2的结点数是249。

若完全二叉树有501个结点,则叶子数251,度为2的结点数是250,度为1的结点数为0。

6.5 某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点数是多少。

【解答】由公式n=2n0+n1-1,得该二叉树的总结点数是69。

6.6 求一棵具有1025个结点的二叉树的高h。

【解答】该二叉树最高为1025(只有一个叶子结点),最低高为11。因为210-1<1025<211-1,故1025个结点的二叉树最低高为11。

6.7 一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有多少结点。

【解答】第一层只一个根结点,其余各层都两个结点,这棵二叉树最少结点数是2h-1。

6.8将有关二叉树的概念推广到三叉树,则一棵有244个结点的完全三叉树的高度是多少。

【解答】设含n个结点的完全三叉树的高度为h,则有

<n≤

<n≤<2n<

本题n=244, 故h=6。

6.9 对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右

孩子的编号,同一结点的左、右孩子中,其左孩子的编号小于其右孩子的编号,是采用何种次序的遍历实现编号的。

【解答】后序遍历二叉树,因为后序遍历顺序为左子树-右子树-根结点。

6.10 高度为h(h>0)的满二叉树对应的森林由多少棵树构成。

【解答】因为在二叉树转换为森林时,二叉树的根结点,根结点的右子女,右子女的右子女, ,都是树的根,所以,高度为h(h>0)的满二叉树对应的森林由h棵树构成。

6.11 某二叉树结点的中序序列为BDAECF,后序序列为DBEFCA,则该二叉树对应的森林包括几棵树?

【解答】3棵树。(本题不需画出完整的二叉树,更不需要画出森林,只需画出二叉树的右子树就可求解。如上题所述,二叉树的根结点,根结点的右子女,右子女的右子女, ,在二叉树转为森林时,都是树的根。)

6.12 对任意一棵树,设它有n个结点,这n个结点的度数之和为多少?

【解答】n-1。度数其实就是分支个数。根结点无分支所指,其余结点有且只有一个分支所指。

6.13 一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是多少?

【解答】对二叉树线索化时,只有空链域才可加线索。一棵左子树为空的二叉树在先序线索化时,根结点的左链为空,应加上指向前驱的线索,但根结点无前驱,故该链域为空。同样分析知道最后遍历的结点的右链域为空。故一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是2个。

6.14 一棵左、右子树均不空的二叉树在先序线索化后,其中空的链域的个数是多少?

【解答】1个。

6.15 设B是由森林F变换得的二叉树。若F中有n个非终端结点,则B中右指针域为空的结点有几个?

【解答】n+1。森林中任何一个非终端结点在转换成二叉树时,其第一个子女结点成为该非终端结点的左子女,其余子女结点成为刚生成的左子女结点的右子女,右子女结点的右子女, ,最右子女结点的右链域为空。照此分析,n个非终端结点在转换后,其子女结点中共有n个空链域。另外,森林中各棵树的根结点可以看做互为兄弟,转换成二叉树后也产生1个空链域。因此,本题的答案是n+1。

6.16 试分别找出满足以下条件的所有二叉树:

(1) 二叉树的前序序列与中序序列相同;

(2) 二叉树的中序序列与后序序列相同;

(3) 二叉树的前序序列与后序序列相同;

(4) 二叉树的前序序列与层次序列相同;

(5) 二叉树的前序、中序与后序序列均相同。

【解答】前序遍历二叉树的顺序是“根—左子树—右子树”,中序遍历的顺序是“左子树—根—右子树”,后序遍历顺序是:“左子树—右子树―根",根据以上原则,本题解答如下:

若前序序列与中序序列相同,则或为空树,或为任一结点至多只有右子树的二叉树。

若中序序列与后序序列相同,则或为空树,或为任一结点至多只有左子树的二叉树。

若前序序列与后序序列相同,则或为空树,或为只有根结点的二叉树。

若二叉树的前序、中序与后序序列均相同,则或为空树,或为只有根结点的二叉树。

6.17 已知一棵二叉树的前序遍历的结果是ABECDFGHIJ,中序遍历的结果是EBCDAFHIGJ,试画出这棵二叉树,对二叉树进行中序线索化,并将该二叉树转换为森林。

【解答】

6.18 已知一棵二叉树的后序遍历序列为EICBGAHDF,同时知道该二叉树的中序遍历序列为CEIFGBADH,试画出该二叉树。

6.19设二叉树中每个结点均用一个字母表示,若一个结点的左子树或右子树为空,用#表示,现前序遍历二叉树,访问的结点序列为ABD##C#E##F##,写出中序和后序遍历二叉树时结点的访问序列。

【解答】中序遍历二叉树时结点的访问序列:#D#B#C#E#A#F#

后序遍历二叉树时结点的访问序列。##D###ECB##FA

6.20有n个结点的k叉树(k≥2)用k叉链表表示时,有多少个空指针?

【解答】k叉树(k≥2)用k叉链表表示时,每个结点有k个指针,除根结点没有指针指向外,其余每个结点都有一个指针指向,故空指针的个数为: nk-(n-1)=n(k-1)+1

6.21 一棵高度为h的满k叉树有如下性质:根结点所在层次为0;第h层上的结点都是叶子结点;其余各层上每个结点都有k棵非空子树,如果按层次自顶向下,同一层自左向右,顺序从1开始对全部结点进行编号,试问:

(1)各层的结点个数是多少?

(2)编号为i的结点的双亲结点(若存在)的编号是多少?

(3)编号为i的结点的第m个孩子结点(若存在)的编号是多少?

(4)编号为i的结 …… 此处隐藏:8647字,全部文档内容请下载后查看。喜欢就下载吧 ……

第6章_数据结构习题题目及答案_树和二叉树_参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1413726.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)