二级C语言公共基础知识,以及习题总结(二)

五、树和二叉树

二级C语言公共基础知识,以及习题总结(一)的地址

1、树的基本概念

数是一种简单的非线性结构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、二叉数及其基本性质

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
二叉树当中结点数是奇数的时候有度为1个结点0个(满二叉树),当二叉树当中的结点数为偶数的时候度为1的结点个数为1个(完全二叉树)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、二叉数的存储结构

在这里插入图片描述

4、二叉数的变量

在这里插入图片描述

5、相关练习

在这里插入图片描述
C
在这里插入图片描述
C在这里插入图片描述

扩展: 二叉树一个结点下面可能有两个子结点(度为2),也可能有一个子结点(度为1),或者没有子结点(度为0,也叫叶子结点)
那么在这棵树中只可能出现三种情况:度为2,度为1,度为0(叶子结点)。不可能出现其他情况,否则就不是二叉树了。
所以,总结点数应该为三者之和。 已经知道:度为0=70,度为1=80 度为2=度为0-1=69
所以:总结点数=度为2+度为1+度为0=69+80+70=219
做题的时候可以画一颗类似的数进行对比总结规律来做题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3+2x2+3+1=11
B
在这里插入图片描述
D
在这里插入图片描述
D
在这里插入图片描述
D
在这里插入图片描述
C
在这里插入图片描述
A
在这里插入图片描述
C
在这里插入图片描述
D=80+70+79
在这里插入图片描述
D
在这里插入图片描述
A
在这里插入图片描述
堆是一个完全二叉树,子结点不大于其父结点
在这里插入图片描述

6、二叉树的遍历

前序遍历(DLR)
先访问根结点,然后前序遍历左子树,最后前序遍历右子树,FCADBEGHP(二叉树a)
中序遍历(LDR)
中序遍历左子树,再访问根结点,最后中序遍历右子树。ACBDFEHGP(二叉树a)
后序遍历(LRD)
后序遍历左子树,再后序遍历右子树,最后访问根结点。ABDCHPGEF(二叉树a)

前、中、后代表的都是根结点的位置

L永远在R的左边,R永远在L的右边【左子树始终在左边,右子树始终在右边】

在这里插入图片描述

7、二叉树的遍历的练习

在这里插入图片描述
C
在这里插入图片描述
B
在这里插入图片描述
在这里插入图片描述
B
在这里插入图片描述
在这里插入图片描述
A
在这里插入图片描述
在这里插入图片描述
B
在这里插入图片描述
在这里插入图片描述
B
在这里插入图片描述

发布了31 篇原创文章 · 获赞 28 · 访问量 2504

猜你喜欢

转载自blog.csdn.net/qq_44757034/article/details/104776634