当前位置: 首页 > web >正文

【数据结构初阶】--二叉树选择题专辑

🔥个人主页:@草莓熊Lotso

🎬作者简介:C++研发方向学习者

📖个人专栏: 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》

⭐️人生格言:生活是默默的坚持,毅力是永久的享受。 

前言: 这一篇博客是二叉树的选择题专辑,会给大家分享一下选择题中的知识点和做题思路,大家可以自己去做一下,顺便巩固一下知识点。


目录

二叉树选择题

 二叉树的性质选择题:

 链式二叉树的遍历选择题:


二叉树选择题

二叉树性质:

对任何⼀棵二叉树, 如果度为 0 其叶结点个数为n_{0}, 度为 2 的分支结点个数为n_{2},则有n_{0}=n_{2}+1

 性质证明过程如下:

假设一个二叉树有 a 个度为2的节点, b 个度为1的节点, c 个叶节点,则这个二叉树的边数是
2a+b 另一方面,由于共有 a+b+c 个节点,所以边数等于 a+b+c-1
结合上面两个公式:
  • 2a+b = a+b+c-1 ,即: a = c-1

 二叉树的性质选择题:

1.某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为(B

      A.不存在这样的二叉树       B.200        C.198        D.199

由于二叉树的性质n_{0}=n_{2}+1可知,有199个度为2的结点,这二叉树的叶子结点个数为199+1=200。

2.在具有 2n 个结点的完全二叉树中,叶子结点个数为(A 

     A.n       B.n+1       C.n-1       D.n/2

 n_{0}+n_{1}+n_{2}=2n

n_{0}=2n-n_{1}-n_{2}     因为n_{0}=n_{2}+1

所以2n_{0}=2n-n_{1}+1

在完全二叉树中,度为1的节点要么为0,要么为1

结果为2n_{0}=2n+12n_{0}=2n,所以算式1算出来结果不为整数故我们按算式2的来,最终叶子结点个数为n

3.⼀棵完全二叉树的结点数为531个,那么这棵树的高度为(B 

     A.11       B.10       C.8       D.12

前9层节点总个数=2^9-1= 511

我们这个完全二叉树的结点个数为531,所以高度是有10层,且最后一层的结点个数(叶子结点个数)为531-511=20个。

4.⼀个具有767个结点的完全二叉树,其叶子结点个数为(B 

     A.383       B.384       C.385       D.386

n0+n1+n2=767 且n0=n2+1,n2=n0-1

所以n0+n0+n1-1=767

完全二叉树中总结点个数为奇数个,所以n1为0

故2n0=768   n0=384

综上所述,叶子结点个数为384个

 链式二叉树的遍历选择题:

1.某完全二叉树按层次输出(同一层从左到右)的序列为 ABCDEFGH 。该完全二叉树的前序序列为(A

A.  ABDHECFG

B.  ABCDEFGH

C.  HDBEAFCG

D.  HDEBFGCA

我们先根据层序遍历序列画出这颗树,然后再通过画出来的树求出它的前序遍历序列

 2.二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历:HFIEJKG.则二叉树根结点为(A

A.  E
B.  F
C.  G
D.  H

 先序遍历就是前序遍历其第一个结点肯定就是根结点,所以这题根节点就是E可以直接选A。

补充一下,如果是后序遍历的话根结点一定是最后一个结点。中序遍历的话左右孩子结点分别在根节点两侧(具体是那两个需要确定)。

3.设一课二叉树的中序遍历序列:badce,后序遍历序列:bdeca,则二叉树前序遍历序列为(D)

A. adbce
B. decab
C. debac
D. abcde

 根据后序遍历确定了根结点为a,再看中序遍历,左边除了b就没有了所以b肯定为a的左孩子结点,dce中c为a的右孩子结点(我们可以在和中后序遍历中都去掉a,b。当前后序序列中最后一个为c,所以c是a的右孩子结点也是d和e的根结点)。根据此时的中序遍历序列可知c的左右都只有一个结点了,所以就直接可以确定了。

4.某二叉树的后序遍历序列与中序遍历序列相同,均为 ABCDEF ,则按层次输出(同⼀层从左到右的序列为(A

A. FEDCBA
B. CBAFED
C. DEFCBA
D. ABCDEF

 跟上题思路一样,先根据后序和中序遍历还原二叉树,再求出它的层序遍历。这里我们就不再描述具体过程了,大家直接看图


往期回顾: 

【数据结构初阶】--二叉树(三)

【数据结构初阶】--二叉树(四)

【数据结构初阶】--二叉树(五)

【数据结构初阶】--二叉树(六)

结语:选择题的特辑就到此结束了,其实二叉树的选择题还是很有学习的意义的,对巩固二叉树的知识点很有帮助,如果文章对你有帮助的话,欢迎评论,点赞,收藏加关注,感谢大家的支持。

http://www.xdnf.cn/news/16819.html

相关文章:

  • 【人工智能-15】OpenCV直方图均衡化,模板匹配,霍夫变换,图像亮度变换,形态学变换
  • 【PHP类的基础概念:从零开始学面向对象】
  • ES11 / ES2020 动态 import()(异步加载模块)
  • Java项目:基于SSM框架实现的小区物业管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告+任务书+远程部署】
  • 使用神经网络与5折交叉验证进行基因组预测:基础知识指南
  • 【JMeter】性能测试脚本录制及完善
  • 从一开始的网络攻防(十三):WAF入门到上手
  • day 40 打卡-装饰器
  • 【JEECG】JVxeTable表格拖拽排序功能
  • [SKE]Python gmssl库的C绑定
  • 机器视觉halcon7-缺陷检测
  • 计算机网络1-3:三种交换方式
  • 开源 Arkts 鸿蒙应用 开发(十二)传感器的使用
  • 双线串行的 “跨界对话”:I2C 与 MDIO 的异同解析
  • 数学建模——最大最小化模型
  • 硬件电路设计(基本元器件)
  • sqli-labs:Less-7关卡详细解析
  • 数据治理平台如何选?深度解析国产化全栈方案与行业落地实践
  • Charles中文教程 高效抓包与API接口调试实战全指南
  • 《汇编语言:基于X86处理器》第10章 复习题和练习
  • yolo8+阿里千问图片理解(华为简易版小艺看世界)
  • Docker常用命令速查手册:容器运维七维指南
  • Centos7 | 防火墙(firewalld)使用ipset管理ip地址的集合
  • 以ros的docker镜像为例,探讨docker镜像的使用
  • Power Pivot 数据分析表达式(DAX)
  • 《Java 程序设计》第 10 章 - 接口与 Lambda 表达式
  • HTML基础P2 | JS基础讲解
  • JSON.parse解析大整数踩坑
  • 重生之我在10天内卷赢C++ - DAY 1
  • 安全和AI方向的学习路线