| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> c语言数据结构 二叉树下 -> 正文阅读 |
|
[数据结构与算法]c语言数据结构 二叉树下 |
一.二叉树的性质
1.
若规定根节点的层数为
1
,则一棵非空二叉树的
第
i
层上最多有
个结点
.
2.
若规定根节点的层数为
1
,则
深度为
h
的二叉树的最大结点数是
.
3.
对任何一棵二叉树
,
如果度为
0
其叶结点个数为
,
度为
2
的分支结点个数为
,
则有
= +
1
4.
若规定根节点的层数为
1
,具有
n
个结点的满二叉树的深度
,
h=
. (ps
:
是
log
以
2
为底,
n+1
为对数
)
5.
对于具有
n
个结点的完全二叉树,如果按照从上至下从左至右的数组顺序对所有节点从
0
开始编号,则对
于序号为
i
的结点有:
二.有关二叉树的选择题讲解
1.
某二叉树共有
399
个结点,其中有
199
个度为
2
的结点,则该二叉树中的叶子结点数为(
)
A
不存在这样的二叉树
B 200
C 198
D 199
2.
下列数据结构中,不适合采用顺序存储结构的是(
)
A
非完全二叉树
B
堆
C
队列
D
栈
3.
在具有
2n
个结点的完全二叉树中,叶子结点个数为(
)
A n
B n+1
C n-1
D n/2
4.
一棵完全二叉树的节点数位为
531
个,那么这棵树的高度为(
)
A 11
B 10
C 8
D 12
5.
一个具有
767
个节点的完全二叉树,其叶子节点个数为()
A 383
B 384
C 385
D 386
1.由性质五得度数为0的叶子节点数比度为2的结点数的多一。所以选B。
当二叉树为满二叉树时,是不存在度为1的结点。
当二叉树为完全二叉树时,度为1的结点数小于等于1。
2.选A。
该题如果为单选就选择最错误的那一个,如果是多选还要选择C。队列是用链表实现比较合适,而链表不是顺序存储结构。
顺序存储结构有:顺序表、队列(数组实现)、栈
堆是可以利用数组实现的。
3.选A。
由性质五得度数为0的叶子节点数比度为2的结点数的多一。
当二叉树为满二叉树时,是不存在度为1的结点。
当二叉树为完全二叉树时,度为1的结点数小于等于1。
设度为0的结点数为N0,度为1的结点数为N1,度为2的数为N2。
N0+N1+N2=2n
N0+N1+N0-1=2n
2*N0-1+N1=2n
其中N0、N1、N2是整数,那么这里N1只能为1
N0=n
4.选B
N代表完全二叉树的总结点数
将选项中的数值代入,看531在哪个范围内
2^9=512 2^10=1024
5.选B
计算过程同3
三.二叉树的储存方式
1.顺序存储
2.链表存储
a.二叉链表? ?b.三叉链表 四.二叉树的三种遍历方式及相关讲解
1.
前序遍历
(Preorder Traversal
亦称先序遍历
)——
访问根结点的操作发生在遍历其左右子树之前。
2.
中序遍历
(Inorder Traversal)——
访问根结点的操作发生在遍历其左右子树之中(间)。
3.
后序遍历
(Postorder Traversal)——
访问根结点的操作发生在遍历其左右子树之后。
以上三种遍历也可称呼为前根遍历、中根遍历、后根遍历。
例子讲解:
?前根遍历顺序:根、左子树、右子树 该图前根遍历顺序为:1 2 3 NULL NULL NULL 4? 5 NULL NULL 6 NULL NULL? 中根遍历顺序:左子树、根、右子树 该图中根遍历顺序为:NULL 3 NULL 2 NUL NULL 5 NULL 1 4 NULL 6 NULL 后根遍历顺序:左子树、右子树、根 该图后根遍历顺序为:NULL NULL 3 NULL 2 NULL NULL 5 NULL NULL 6 4 五.二叉树三种遍历方式递归代码实现 ? 六.其他有关二叉树功能的实现 1.遍历计数 ? ?//子问题解决问题 将一棵树不断得划分为根、左子树、右子树。 ?2.求二叉树叶子结点的个数 ? 3.计算二叉树的高度 ? ?//子问题解决 4.计算二叉树的第k层的结点个数? 学习真的是一件好孤独好矛盾的事情。当我躺在宿舍刷着手机,会很焦虑;当我抱着电脑独自在自习室、教室学习,有的时候会感到很享受、有的时候会感到很孤独。当学的东西越来越多,我很疑惑。如果真的再努力些,自己是否有进入这个行业的资格。天地之大,总会有我立身之处。还是在该学习的时候认真学,该玩的时候就认真玩。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/25 21:16:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |