二叉树的遍历及线索二叉树试题解析

一、单项选择题
01.在下列关于二叉树遍历的说法中,正确的是( C ).
A.若有一个结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前序遍历结果序列的最后一个结点
B.若有一个结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点
C.若有一个叶结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前序遍历结果序列的最后一个结点
D.若有一个叶结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点
解析:二叉树中序遍历的最后一个结点一定是从根开始沿右子女指针缝走到底的结点

02.在任何一棵二叉树中,若结点a有左孩子b、右孩子c,则在结点的先序序列、中序序列、后序序列中,(C ).
A.结点b一定在结点a的前面                                                B.结点a一定在结点c的前面
C.结点b一定在结点c的前面                                                D.结点a一定在结点b的前面
解析:三种遍历方式中,都先遍历左子树再遍历右子树

03.设n,m为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是(C  )
A. n在m右方                B. n是m祖先                   C. n在m左方                  D. n是m子孙
解析:中序遍历时,先访问左子树再访问根结点,再访问右结点,m为根结点,n为左子树符合题意,n为左结点,m为右结点也符合题意,可知n都在m左方

04.设n,m为一棵二叉树上的两个结点,在后序遍历时,n在m前的充分条件是(D )
A. n在m右方                B. n是m祖先                   C. n在m左方                  D. n是m子孙
解析:后序遍历的顺序是左右根,只有m为根节点的情况下才能让n在前

05.在二叉树中有两个结点m和n,若m是n的祖先,则使用(C  )可以找到从m到n的路径。
A.先序遍历                   B.中序遍历                     C.后序遍历                    D.层次遍历
解析:在后序遍历退回时访问根结点,就可以从下向上把从n到m的路径上的结点输出,若采用非递归的算法,则当后序遍历访问到n时,栈中把从根到n的父指针的路径上的结点都记忆下来,也可以找到从m到n的路径。

06.某非空二叉树采用顺序存储结构,树中的结点信息按完全二叉树的层次序列依次存放在
如下所示的一维数组中,则该二叉树的后序遍历序列为(  C  ).

A. ghbefhca                  B. gbdehcfa                   C. gdbhefca                   D. bgdehcfa
解析:其图形如下所示:

07.在二叉树的前序序列、中序序列和后序序列中,所有叶结点的先后顺序(B )
A.都不相同                   B.完全相同                     C.前序和中序相同,而与后序不同
D.中序和后序相同,而与前序不同
解析:三种遍历方式访问左右子树的先后顺序都是不变的,只是访问根节点的顺序不同

08.对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,
同一结点的左、右孩子中,其左孩子的编号小于其右孩子的编号,可采用( C )次序的遍历实现编号。
A.先序遍历                   B.中序遍历                     C.后序遍历                     D.层次遍历
解析:从1开始编号,编号越大说明遍历顺序越靠后,左孩子编号小于右孩子编号,结点大于左右编号,所以遍历顺序为左右根,后序遍历

09.按某种顺序对二叉树的结点进行编号,编号为1,2,…,n,规定:树中任一结点v,其编
号等于v的左子树上的最小编号减1,而v的右子树中的最小编号等于v的左子树上的最大编号加1,则说明该二叉树是按(  B )次序编号的。
A.中序遍历                B.先序遍历                     C.后序遍历                    D.层次遍历
解析:结点v的编号比左子树的最小编号还小,而v的右子树中的最小编号又大于v的左子树中的最大编号,因此v的编号小于左右所有子树的编号,显然是从根节点按先序遍历

10.前序序列为A,B,C,后序序列为C, B,A 的二叉树共有(D )。
A.1棵                           B.2棵                              C.3棵                               D.4棵

11.一棵完全二叉树的后序遍历序列为CDBFGEA,则其先序遍历序列是(C ).
A.CBDAFEG                B. ABECDFG                 C. ABCDEFG                  D.无法确定
解析:画出七个结点的三层满二叉树再根据后序序列把值填入结点

12.设结点X和Y是二叉树中任意的两个结点。在该二叉树的先序遍历序列中X在Y之前,
而在其后序遍历序列中X在Y之后,则X和Y的关系是( C )。
A.X是Y的左兄弟          B.X是Y的右兄弟              C.X是Y的祖先                D.X是Y的后裔
解析:二叉树的先序遍历是根左右,后序遍历是左右根,则只有X为根,Y为左右子树满足题设

13.若二叉树中结点的先序序列是…a…b….,中序序列是….b…a…,则( C  )。.
A.结点a和结点b分别在某结点的左子树和右子树中
B.结点b在结点a的右子树中
C.结点b在结点a的左子树中
D.结点a和结点b分别在某结点的两棵非空子树中
解析:根左右,左根右,只有一个为根一个为左子树才可能顺序相反,而先序a在前所以C对

14.一棵二叉树的先序遍历序列为1234567,它的中序遍历序列可能是(B)。.
A. 3124567                    B.1234567                      C.4135627                     D.1463572
解析:排除法

15.下列序列中,不能唯一地确定一棵二叉树的是( D)。
A.层次序列和中序序列                                        B.先序序列和中序序列
C.后序序列和中序序列                                        D.先序序列和后序序列

16.若一棵二叉树的中序序列和后序序列相同,则(  B  )。
A.二叉树为空树或二叉树任一结点没有左子树
B.二叉树为空树或二叉树任一结点没有右子树
C.二叉树为空树或二叉树中每个结点的度为1
D.二叉树为空树或二叉树为满二叉树
解析:中序遍历是“左根右”,后序遍历是“左右根”,当任一结点没有右子树时,两种遍历都是“左根”,当二叉树为空或只有根节点时,中序序列和后序序列也相同

17.已知一棵二叉树的后序序列为DABEC,中序序列为DEBAC,则先序序列为(D )
A. ACBED                   B. DECAB                         C.DEABC                      D.CEDBA

18.已知一棵二叉树的先序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的
结果为( A )。
A. CBEFDA                 B. FEDCBA                      C. CBEDFA                    D.不确定

19.已知一棵二叉树的层次序列为ABCDEF,中序序列为BADCFE,则先序序列为(  B )。
A.ACBEDF                   B. ABCDEF                     C.BDFECA                     D.FCEDBA

20.某二叉树中的结点x,它在先序、中序、后序遍历序列中的编号分别为pre(x) ,in (z)、post(x)(假设都是从1开始依次编号),a和b是树中任意两个结点,下列选项中错误的是(  B )
A. a是b的后代且pre (a)<pre(b)                                 B. a是b的祖先且post (a) >post (b)
C. a是b的后代且in (a)<in(b)                                      D. a在b的左边且in (a)<in(b)
解析:若a是b的祖先,则后序遍历时一定先遍历b后遍历a

21.某二叉树采用二叉链表存储结构,若要删除该二叉链表中的所有结点,并释放它们占用
的存储空间,则采用( C )遍历方法最合适。
A.中序                         B.层次                                C.后序                        D.先序
解析:删除一个结点时,需要先递归的删除它的左右孩子,并释放他们所占的内存空间,然后删除该结点,并删除它所占的存储空间,这正好与后续遍历的访问顺序相同

22.引入线索二叉树的目的是( A ).
A.加快查找结点的前驱或后继的速度                        B.为了能在二叉树中方便插入和删除
C.为了能方便找到双亲                                              D.使二叉树的遍历结果唯一
解析:线索是前驱结点和后继结点的指针,引入线索的目的是加快对二叉树的遍历

23.线索二叉树是一种(  C )结构。
A.逻辑                         B.逻辑和存储                    C.物理                         D.线性
解析:二叉树是一种逻辑结构,但线索二叉树是加上线索后的链表结构,即它是二叉树在计算机内部的一种存储结构,所以是一种物理结构

24. n个结点的线索二叉树上含有的线索数为( C )。
A. 2n                            B. n-l                                C. n+1                         D. n
解析:n个结点共有链域指针2n个,其中除根结点外每个结点都被一个指针指向,剩余的链域建立线索,共有2n-(n-1)=n+1个线索

25.判断线索二叉树中*p结点有右孩子结点的条件是( C).
A. p !=NULL                B.p->rchild !=NULL          C. p->rtag==0              D. p->rtag==1
解析:线索二叉树中用ltag/rtag标识结点的左/右指针域是否为线索,其值为1时,对应指针域为线索,其值为0时,对应指针域为左右孩子

26.一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是( D ).
A.不确定                     B.0个                              C. 1个                         D.2个
解析:对左子树为空的二叉树进行先序线索化,根结点的左子树为空并且没有前驱结点(先遍历根结点),先序遍历的最后一个元素做为叶结点,左、右子树均为空且有前驱无后继结点,所以线索化后,树中空链域有两个

27.在线索二叉树中,下列说法不正确的是(  D)。
A.在中序线索树中,若某结点有右孩子,则其后继结点是它的右子树的最左下结点
B.在中序线索树中,若某结点有左孩子,则其前驱结点是它的左子树的最右下结点
C.线索二叉树是利用二叉树的n+1个空指针来存放结点的前驱和后继信息的
D.每个结点通过线索都可以直接找到它的前驱和后继
解析:不是每个结点通过线索都可以直接找到它的前驱和后继。在先序线索二叉树中查找一个结点的先序后继很简单,而查找先序前驱必须知道该结点的双亲结点。同样,在后序线索二叉树中查找一个结点的后序前驱也很简单,而查找后序后继也必须知道该结点的双亲结点,二叉链表中没有存放双亲的指针。

28.二叉树在线索化后,仍不能有效求解的问题是(  D ) 。
A.先序线索二叉树中求先序后继
B.中序线索二叉树中求中序后继
C.中序线索二叉树中求中序前驱
D.后序线索二叉树中求后序后继
解析:后序线索二叉树不能有效解决求后序后继的问题。如下图所示,结点E的右指针指向右孩子,而在后序序列中E的后继结点为B,在查找E的后继时仍然只能按常规方法来查找。

29.若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为( C )。
A.X的双亲                                                                B.X的右子树中最左的结点
C.X的左子树中最右的结点                                       D.X的左子树中最右的叶结点
解析:在二叉树中序线索树种,某结点若有左孩子,按照中序“左根右”的顺序,该结点的前驱结点为左子树中最右的一个结点

30.若X是后序线索二叉树中的叶结点,且X存在左兄弟Y,则X的右线索指向的是(A )。
A.X的双亲                                                               B.以Y为根的子树的最左下结点
C.X的左兄弟Y                                                         D.以y为根的子树的最右下结点

31.(C)的遍历仍需要栈的支持。
A.前序线索树               B.中序线索树                    C.后序线索树              D.所有线索树
解析:后序线索树遍历时,最后访问根结点,若从右孩子x返回访问父结点,则由于结点x的右孩子不一定为空(右指针无法指向其后继),因此通过指针可能无法遍历整棵树。如下图所示,结点中的数字表示遍历的顺序,图(c)中结点6的右指针指向其右孩子5,而不指向其后序后继结点7,因此后序遍历还需要栈的支持,而图(a)和图(b)均可遍历。

32.某二叉树的先序序列和后序序列正好相反,则该二叉树一定是(  B )。
A.空或只有一个结点                                                B.高度等于其结点数
C.任意一个结点无左孩子                                         D.任意一个结点无右孩子
解析:非空二叉树的先序序列和后序序列相反,即“根左右”与“左右根”顺序相反,因此树只有根结点,或根结点只有左子树或右子树,其子树也有同样的性质,任意结点只有一个孩子,才能满足先序序列和后序序列正好相反。此时树形应为一个长链,树中仅有一个叶结点。

33.【2009统考真题】给定二叉树如下图所示。设N代表二叉树的根,L代表根结点的左子
树,R代表根结点的右子树。若遍历后的结点序列是3175624,则其遍历方式是( D )。

A.LRN                            B.NRL                           C.RLN                                D.RNL
解析:分析遍历后的结点序列,可以看出根结点是在中间被访问的,而且右子树结点在左子树之前,则遍历的方法是RNL。

34.【2010统考真题】下列线索二叉树中(用虚线表示线索),符合后序线索树定义的是( D )。

解析:暂未分析

35.【2011统考真题】一棵二叉树的前序遍历序列和后序遍历序列分别为1,2,3,4和4,3,2,1,
该二叉树的中序遍历序列不会是( C ).
A. 1,2,3,4                     B. 2,3,4,1                        C. 3,2,4,1                      D.4,3,2,1
解析:ABD的图像都满足题设

36.【2012统考真题】若一棵二叉树的前序遍历序列为a, e, b,d, c,后序遍历序列为b, c, d, e,
a,则根结点的孩子结点(  A ).
A.只有e                        B.有e、b                        C.有e、c                        D.无法确定
解析:前序遍历和后序遍历不能唯一确定一颗二叉树,但是可以确定二叉树的祖先关系   由前序后序可知a是根结点,e为a的孩子结点,此外由a的孩子结点组成的前序序列为ebd、后序序列为bcde,可知e是bcd的祖先,所以根结点的孩子结点只有e     
         

37.【2013统考真题】若X是后序线索二叉树中的叶结点,且X存在左兄弟结点Y,则X的
右线索指向的是(  A ).
A.X的父结点                                                          B.以Y为根的子树的最左下结点
C.X的左兄弟结点Y                                                D.以Y为根的子树的最右下结点
解析:X是叶结点且存在左兄弟结点Y,则X是根节点的右结点,后序遍历方式左右根,可知X结点的后序后继是其父结点,即右线索指向的是父结点

38.【2014统考真题】若对下图所示的二叉树进行中序线索化,则结点X的左、右线索指向
的结点分别是(  D )。

A. e, c                             B.e, a                              C. d, c                             D. b, a
解析:线索二叉树的线索实际指向的是相应遍历序列特点结点的前驱结点和后继结点,图中中序遍历序列为debxac ,x左边和右边的字符分别对应左右线索

39.【2015统考真题】先序序列为a, b, c, d的不同二叉树的个数是(  B).
A.13                                B.14                                C. 15                                D.16
解析:

40.【2017统考真题】某二叉树的树形如下图所示,其后序序列为e,a, c, b, d,g,f,树中与结
点a同层的结点是( B )。

A. c                                B. d                                C. f                                     D.g
解析:后序序列访问顺序为左右根,递归进行,根节点的左子树e最先被访问,由于没有右子树接下来访问的是父结点a,然后是a的父结点c,接着访问右子树,由于右子树有根结点所以先访问根结点b,再访问根结点的父结点d,然后是d的结点g,最后是根节点f,最后如下图所示,与a同层的结点为d

41.【2017统考真题】要使一棵非空二叉树的先序序列与中序序列相同,其所有非叶结点须
满足的条件是(  B).
A.只有左子树                B.只有右子树                 C.结点的度均为1                D.结点的度均为2
解析:先序序列访问顺序为根左右、中序序列访问为左根右,若非叶结点只有右子树,则先序序列和中序序列都先访问父结点,后访问右子树

42.【2022统考真题】若结点p与q在二叉树T的中序遍历序列中相邻,且p在q之前,则下列p与q的关系中,不可能的是( B )。
Ⅰ.q是p的双亲
Ⅱ.q是p的右孩子
Ⅲ.q是p的右兄弟
IV.q是p的双亲的双亲
A.仅I                              B.仅Ⅲ                             C.仅Ⅱ、Ⅲ                       D.仅Ⅱ、IV
解析:中序遍历的访问顺序是左根右,Ⅲ,q是p的右兄弟,但中序遍历先遍历左结点再遍历根结点,不可能跟右结点相邻

43.【2023统考真题】已知一棵二叉树的树形如下图所示,若其后序遍历序列为fdbeca,则其
先(前)序遍历序列是( A )。

A. aedfbc                      B. acebdf                        C. cabefad                        D. dfebac

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/776066.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓国内ip代理app,畅游网络

随着移动互联网的普及和快速发展&#xff0c;安卓手机已经成为我们日常生活和工作中不可或缺的一部分。然而&#xff0c;由于地理位置、网络限制或其他因素&#xff0c;我们有时需要改变或隐藏自己的IP地址。这时&#xff0c;安卓国内IP代理App便成为了一个重要的工具。虎观代理…

Chrome之解决:浏览器插件不能使用问题(十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

c语言知识点整理------基础c语言框架,数据类型,变量常量,注释

前言 本文不涉及讲解原理&#xff0c;用简洁明了的风格&#xff0c;去整理方便查阅的知识点。 &#xff08;适合有编程基础&#xff0c;或者需要作为笔记的人群使用&#xff09; 程序基本框架 结果会输出hello world。 程序的执行 c语言属于编译型语言。 代码执行分为五个…

文件上传漏洞-服务端检测

服务端检测 服务端检测就是网站对用户上传的文件的检测代码放置在服务器里&#xff0c;当用户上传的文件通过了检测才会被允许保存在服务器里。 MIME类型检测 MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准。用来表示文档、文件或字节流的…

第115讲:Mycat核心配置文件各项参数的作用以及概念

文章目录 1.Mycat配置文件相关概念2.Schema配置文件3.Rule配置文件4.Server配置文件 1.Mycat配置文件相关概念 在Mycat中核心的配置文件有schema.xml和rule.xml以及server.xml三个&#xff0c;其中schema.xml是用来配置数据库、表、读写分离、分片节点、分片规则等信息&#x…

精准营销的秘密:独立站如何通过大数据与AI技术实现个性化定制

在当今电商市场竞争激烈的背景下&#xff0c;电商行业逐渐步入个性化、精细化的运营时代。独立站作为电商领域的重要组成部分&#xff0c;其推广策略也在不断地进行创新与升级。个性化定制策略以其精准、高效的特点&#xff0c;正逐渐成为独立站推广的新宠。本文Nox聚星将和大家…

PostgreSQL关系型数据库介绍与部署

使用背景 在过去的几年中&#xff0c;PostgreSQL的使用量逐渐增加&#xff0c;而Oracle和MySQL的使用量则有所下降。这主要是由于以下几个原因&#xff1a;开源和免费、功能丰富、可扩展性强、安全性高、跨平台支持好、社区活跃、成熟稳定。这些因素使得PostgreSQL成为了许多开…

针对COT控制模式下低ESR电容造成次谐波振荡问题的片内斜波补偿方案

COT模式&#xff1a;MOS管固定导通时间控制模式&#xff0c;关断时间由输出反馈电压与内部基准源的相较值决定。 RBCOT控制模式&#xff1a;Ripple-Based COT基于纹波的固定导通时间控制方法&#xff0c;特别的是环路控制部分主要有固定导通时间发生装置及比较器组成。RBCOT控…

Java:反射 reflection ( 概念+相关类+使用方法)

文章目录 一、反射(reflection)1.概念优点&#xff1a;缺点 2.反射的相关类1.Class类1.**反射机制的起源**2.获得类相关的方法3.获得类中属性的相关方法4.获得类中注解相关的方法5.获得类中构造器相关的方法6.获得类中方法相关的方法 2.获取Class对象的三种方法&#xff1a;1.使…

剑指Offer题目笔记19(二分查找)

面试题68&#xff1a; 问题&#xff1a; ​ 输入一个排序的整形数组nums和一个目标值t&#xff0c;如果数组nums中包含t&#xff0c;则返回在数组中的下标&#xff0c;否则返回按照顺序插入到数组的下标。 解决方案&#xff1a; ​ 使用二分查找。每次二分查找都选取位于数组…

Days 35 ElfBoard板对Java的支持

Java作为一种功能强大且广泛应用的编程语言&#xff0c;具有广泛的适应性和实用性。在ELF 1开发板上集成Java支持&#xff0c;无疑将赋予嵌入式开发者更广阔的选择空间&#xff0c;今天就为各位小伙伴详细解析如何在ELF 1开发板上成功部署和运行Java环境。 1.拷贝两个压缩包到E…

国内IP代理手机软件推荐:功能、选择与使用指南

在移动互联网日益普及的今天&#xff0c;手机已经成为我们生活中不可或缺的一部分。而在使用手机上网的过程中&#xff0c;有时我们可能需要改变或隐藏自己的IP地址&#xff0c;以满足特定的网络需求或提高安全性。这时&#xff0c;国内IP代理手机软件便成为了一个重要的工具。…

基于SpringBoot+Vue+Mybatis的408刷题小程序管理端

简介 原始数据&#xff1a;书目信息、章节信息、题目信息、系统菜单、系统角色、系统用户。 主要任务&#xff1a;系统主要采用spring boot作为后端框架&#xff0c;前端使用vueelementUI&#xff0c;为408刷题小程序提供一个方面的管理和维护的任务&#xff0c;主要功能包括…

IS-IS路由

概览&#xff1a; Intermediate System-to-Intermediate System&#xff0c;中间系统到中间系统协议 IS-IS--IGP--链路状态协议--AD值&#xff1a;115 IS--中间系统&#xff08;路由器&#xff09; ES--终端系统&#xff08;PC&#xff09; 在早期IS-IS的开发并不是为了IP…

Python学习之-正则表达式

目录 前言&#xff1a;1.re.serach1.1例子&#xff1a; 2.re.match2.1示例1&#xff1a;2.2 示例2&#xff1a; 3.re.findall3.1 示例 4.re.fullmatch4.1 示例1&#xff1a;4.2 示例2: 5.re.split5.1 示例1:5.2 示例2&#xff1a;5.3 示例3&#xff1a; 6.re.sub6.1 示例&#…

vue3+Vite+TS项目,配置ESlint和Prettier

创建vue3项目 实操过的有两种方式 1.vue脚手架2.vite&#xff08;推荐&#xff0c;也是尤大大团队研发&#xff09; 具体怎么新建一个vue3项目就不多讲了&#xff0c;可以按照官方文档来 创建后的文件目录长这样 多提一句&#xff0c;vite也会随着时间不断迭代&#xff0c;后…

【绘图案例-自定义进度条 Objective-C语言】

一、好,我们接着来说这个自定义进度条 1.这个Slider啊,简单的这个value属性,介绍完了,以后,监听也可以监听的到了,接下来,我们来做这个自定义进度条啊, 那么,首先啊,我是这么想的,在这个slider的最小值、和、最大值、我给它改成0、到、1、 因为如果这样的话,到时候…

安装 使用 ida pro linux

安装 ida pro linux 下载地址 下载解压文件&#xff0c;然后linux下直接双击安装 ida7.5demo*******.run这个安装包 然后查找安装目录&#xff0c;一般桌面图标都有对应执行程序的路径 将crack包中的内容覆盖到这个安装目录中 然后双击执行就可以正常运行&#xff0c;new 打…

安装 allure 时踩到的坑:ERROR: JAVA_HOME is set to an invalid directory

报错内容是&#xff1a; 安装 allure 时ERROR: JAVA_HOME is set to an invalid directory: F:\soft\jdk Please set the JAVA_HOME variable in your environment to match the location of your Java installation。 这个问题的原因是java环境的环境变量不能运行 也就是在cm…

5步到位,苹果手机铃声设置原来这么简单!

苹果手机铃声设置是个人化手机体验的重要部分&#xff0c;通过设置喜爱的铃声可以让手机更加个性化&#xff0c;也更容易识别来电。然而&#xff0c;对于一些新手来说&#xff0c;可能不太清楚如何在苹果手机上进行铃声设置&#xff0c;或者可能不知道如何将自己喜欢的音乐或声…