首页 > 其他分享 >25版王道数据结构课后习题详细分析 第五章 树与二叉树 5.3 二叉树的遍历和线索二叉树 选择题部分

25版王道数据结构课后习题详细分析 第五章 树与二叉树 5.3 二叉树的遍历和线索二叉树 选择题部分

时间:2024-08-25 23:51:32浏览次数:7  
标签:结点 遍历 答案 二叉树 课后 习题 解析 正确

一、单项选择题

————————————————————

————————————————————

解析:二叉树中序遍历的最后一个结点一定是从根开始沿右子女指针链走到底的结点,设用p指示。若结点p不是叶结点(其左子树非空),则前序遍历的最后一个结点在它的左子树中,A、B错误;若结点p是叶结点,则前序与中序遍历的最后一个结点就是它,C正确。若中序遍历的最后一个结点p不是叶结点,它还有一个左子女q,结点q是叶结点,那么结点q是前序遍历的最后一个结点,但不是中序遍历的最后一个结点,D错误。

正确答案:C

————————————————————

————————————————————

解析:三种遍历方式中,都先遍历左子树,再遍历右子树,因此b一定在c的前面访问。

正确答案:C

————————————————————

————————————————————

解析:

正确答案:C

————————————————————

————————————————————

解析:后序遍历的顺序是LRN,若n在N的左子树,m 在N的右子树,则在后序遍历的过程中n在m之前访问;若n是m的子孙,设m在N的位置,则n无论是在m的左子树还是在右子树,在后序遍历的过程中n都在m之前访问。其他都不可以。选项C要成立,就需加上两个结点位于同一层这个条件。

正确答案:D

————————————————————

————————————————————

解析:在后序遍历退回时访问根结点,就可以从下向上把从n到m的路径上的结点输出,若采用非递归的算法,则当后序遍历访问到n时,栈中把从根到n的父指针的路径上的结点都记忆下来,也可以找到从m到n的路径。

正确答案:C

————————————————————

————————————————————

解析:

正确答案:C

————————————————————

————————————————————

解析:左永远在右前面,三种遍历方式中,访问左、右子树的先后顺序是不变的,只是访问根结点的顺序不同,因此叶结点的先后顺序完全相同。可以采用特殊值法,画一个结点数为3的满二叉树,采用三种遍历方式来验证答案的正确性。

正确答案:B

————————————————————

————————————————————

解析:对每个顶点从1开始按序编号,要求结点编号大于其左、右孩子编号,并且左孩子编号小于右孩子编号。编号越大说明遍历顺序越靠后,因此,三者遍历顺序为先左子树、再右子树、后根结点。4个选项中仅后序遍历满足要求。

正确答案:C

————————————————————

————————————————————

解析:结点v的编号比其左子树上的最小编号还小,而v的右子树中的最小编号大于v的左子树中的最大编号,因此v的编号比其左、右子树上的所有编号都小,显然是按先序遍历次序。

正确答案:B

————————————————————

————————————————————

解析:

正确答案:D

————————————————————

————————————————————

解析:7个结点的完全二叉树是一棵3层的满二叉树,画出相应二叉树的树形,根据后序遍历序列填入相应的结点,得到相应的完全二叉树,求得其先序遍历序列为ABCDEFG。

正确答案:C

————————————————————

————————————————————

解析:二叉树的前序遍历为NLR,后序遍历为LRN。根据题意,在前序序列中X在Y之前,在后序序列中X在Y之后,若设X在根的位置,Y在其左子树或右子树中,即满足要求。

正确答案:C

————————————————————

————————————————————

正确答案:C

————————————————————

————————————————————

解析:因前序序列和中序序列可以确定一棵二叉树,所以可试着用题目中的序列构造出相应的二叉树,即可得知,只有选项B的序列可以构造出二叉树。

正确答案:B

————————————————————

————————————————————

解析:先序序列为NLR,后序序列为LRN,虽然可以唯一确定树的根结点,但无法划分左、右子树。例如,先序序列为AB,后序序列为BA。

正确答案:D

————————————————————

————————————————————

解析:中序遍历是“左根右”,后序遍历是“左右根”,当任一结点没有右子树时,两种遍历都是“左根”。显然,当二叉树为空树或只有根结点时,其中序序列和后序序列也相同。

正确答案:B

————————————————————

————————————————————

解析:

正确答案:D

————————————————————

————————————————————

解析:

正确答案:A

————————————————————

————————————————————

解析:

正确答案:B

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

————————————————————

解析:

正确答案:

————————————————————

标签:结点,遍历,答案,二叉树,课后,习题,解析,正确
From: https://blog.csdn.net/2406_86301373/article/details/141531714

相关文章

  • C程序设计语言(第2版·新版)练习题1-10
    练习1-10 编写一个将输入复制到输出的程序,并将其中的制表符替换为\t,把回退符替换为\b,把反斜杠替换为\\。这样可以将制表符和回退符以可见的方式显示出来。#include <stdio.h>#include <conio.h>int main(int argc, char *argv[]){    (void)argc;    (void......
  • 27.Python练习题
    1,列举布尔值为False的值0False‘’   [] {}None 2,写函数:根据范围获取其中3和7整除的所有数的和,并返回调用者:符合条件的数字个数以及符合条件的数字的总和如:deffunc(start,end): 3,函数的默认返回值是什么?None 4,简述break\continue\return的区别Bre......
  • 【C++ Primer Plus习题】5.10
    问题:解答:#include<iostream>usingnamespacestd;intmain(){ intcount=0; cout<<"请输入星星的行数:"; cin>>count; for(inti=0;i<count;i++) { for(intj=0;j<count-i-1;j++) { cout<<&qu......
  • 【C++ Primer Plus习题】5.9
    问题:解答:#include<iostream>#include<cstring>usingnamespacestd;#defineSIZE20intmain(){ stringwords[SIZE]; stringdone="done"; intcount=0; while(true) { cout<<"请输入单词:"<<endl; c......
  • 浅谈【数据结构】树与二叉树一
    目录1、树与二叉树1.1树的概念2、二叉树2.1二叉树的五大形态2.2二叉树的性质2.3二叉树的存储结构2.4二叉树的遍历谢谢帅气美丽且优秀的你看完我的文章还要点赞、收藏加关注没错,说的就是你,不用再怀疑!!!希望我的文章内容能对你有帮助,一起努力吧!!!1、树与二叉树1.1树......
  • 浅谈【数据结构】树与二叉树二
    目录1、二叉排序树1.1二叉树排序树插入1.1.1两种插入方法1.1.2循环法1.1.3递归法1.2二叉树的打印1.3二叉树的结点删除1.4销毁二叉树1.5层次打印谢谢帅气美丽且优秀的你看完我的文章还要点赞、收藏加关注没错,说的就是你,不用再怀疑!!!希望我的文章内容能对你有帮助,一......
  • Java行为型设计模式-访问者模式(含二叉树场景示例)
    1.访问者模式简介访问者模式(VisitorPattern)是一种行为型设计模式,其主要目的是将数据结构与数据操作解耦。用于将数据结构和在数据结构上的操作分离开来。‌这种模式允许在不修改数据结构的情况下,定义新的操作。2.访问者模式角色访问者模式的主要角色包括:2.1抽象访问......
  • 【鸿蒙学习】HarmonyOS应用开发者高级认证 - 应用DFX能力介绍(含闯关习题)
    学完时间:2024年8月24日学完排名:第1698名一、PerformanceAnalysisKit简介PerformanceAnalysisKit(性能分析服务)为开发者提供应用事件、日志、跟踪分析工具,可观测应用运行时状态,用于行为分析、故障分析、安全分析、统计分析,帮助开发者持续改进应用体验。使用场景应用......
  • 秋招力扣Hot100刷题总结——二叉树
    二叉树相关的题目基本上都会使用递归,因此做二叉树的题目时首先使用递归,明确递归结束的条件。1.二叉树的层序遍历题目链接题目要求:给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。代码及思路使用队列存储每一层的节点,左边节点先......
  • 集合及数据结构第九节————树和二叉树
    系列文章目录集合及数据结构第九节————树和二叉树树和二叉树树型结构的概念树的概念树的表示形式(了解)树的应用二叉树的概念两种特殊的二叉树二叉树的性质二叉树的性质练习二叉树的存储二叉树的遍历二叉树的基本操作二叉树相关练习题文章目录系列文章目录集合及......