IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 《数据结构》二叉树的性质及计算题考察 -> 正文阅读

[数据结构与算法]《数据结构》二叉树的性质及计算题考察

目录

先把二叉树性质列举一下:

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

2.下列数据结构中,不适合采用顺序存储结构的是( )

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

4.一棵完全二叉树的节点数位为531个,那么这棵树的高度为( )

5.一个具有767个节点的完全二叉树,其叶子节点个数为()


先把二叉树性质列举一下:

1. 若规定根节点的层数为1,则一棵非空二叉树的第i层上最多有 2^(i- 1)个结点.

2. 若规定根节点的层数为1,则深度为h的二叉树的最大结点数是 2^h-1

3. 对任何一棵二叉树, 如果度为0其叶结点个数为n0 , 度为2的分支结点个数为n2 ,则有 n0=n2+1, 即:度为0比度为2的永远多一个,别人总结出来的规律(记住就可以)

4. 若规定根节点的层数为1,具有n个结点的满二叉树的深度,h= log2(n + 1).(PS postscript 附言: log2(n + 1)是log以2为底,n+1为对数)

5.因为完全二叉树最后一层连续,所以度为1的节点只有一个或0个,a1=0 或者 1

6. 对于具有n个结点的完全二叉树,如果按照从上至下从左至右的数组顺序对所有节点从0开始编号,则对

于序号为i的结点有:

1. 若i>0,i位置节点的双亲序号:(i-1)/2 (因为偶数除2向0取整,所以无论奇数还是偶数都是这个公式求双亲节点的数组下标);i=0,i为根节点编号,无双亲节点

2. 若2i+1=n否则无左孩子

3. 若2i+2=n否则无右孩子

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

A.?不存在这样的二叉树

B. 200

C. 198

D. 199

解:设度为0的节点个数为a0,度为2的节点个数为a2,a0=a2+1,199+1=200;选B

2.下列数据结构中,不适合采用顺序存储结构的是( )

A. 非完全二叉树

B. 堆

C. 队列

D. 栈

解:只有二叉树不是顺序存储,选A。

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

A. n

B. n+1

C. n-1

D. n/2

解:

假设度为0节点有a0个

假设度为1节点有a1个

假设度为2节点有a2个

2n = a0+a1+a2

2n = a0+a1+a0-1

2n=2a0-1+a1

因为完全二叉树最后一排的叶节点必须连续,所以度为1的节点只能是1个或者0个,此处如果a1是0,2n=2a0-1,

a0=(2n-1)/2,a0不可能是小数,所以a1必须是1,因此2n=2a0,a0=n;选A。

4.一棵完全二叉树的节点数位为531个,那么这棵树的高度为( )

A. 11

B. 10

C. 8

D. 12

解:上一个题那样算虽然能算出叶节点个数a0,但不只是最后一排有叶节点,倒数第二排也有叶节点,所以就算求出来了也没法用,只能用代数法:

过程:①设高度是h(规定根节点层数是1),已知高度h的二叉树最多有2^h-1个节点,设完全二叉树最后一排比满二叉树少了X个节点,所以有 2^h-1-X=531,即X=2^h-1-531=2^h-532 X最小是1(完全二叉树最后一排最少比满二叉树少1个节点),X最大是 2^(h-1)-1 (当完全二叉树最后一排只有一个节点时,第 i 行最多有2^(i-1)个节点)

②然后我们不妨带入选项:A:h=11时,X最大是2^10-1=1024-1=1023,带入前面的等式X=2^11-532=2048-532=1516,X最大是1023,1516已经超了,不符合,所以排除A。

同理B:h=11时,X最大是2^9-1=512-1=511,带入前面的等式X=2^10-532=1024-532=492,492

C:h=8时,X最大是2^7-1=128-1=127,带入前面的等式X=2^8-532=256-532= -276,X是负数了,不符合,所以排除C。

D:h=12时同A,也不符合。 选B。

5.一个具有767个节点的完全二叉树,其叶子节点个数为()

A. 383

B. 384

C. 385

D. 386

解:

假设度为0节点有a0个

假设度为1节点有a1个

假设度为2节点有a2个

767= a0+a1+a2

767= a0+a1+a0-1

767=2a0-1+a1

只有当a1是0时,a0才不为小数,可直接求出a0=384,选B。

答案:

1.B

2.A

3.A

4.B

5.B

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:50:35  更:2022-03-30 18:51:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:30:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码