(共25张PPT)
知识回顾
二叉树的性质:
③在任意一棵二叉树中,若度为2的节点数量为n2,叶子结点数为n0,则n0=n2+1
②深度为k的二叉树最多有2k-1(k>=1)个节点。
①二叉树的第k层上最多有2k-1(k>=1)个节点。
知识回顾
1.满二叉树
特点:
①每个节点的度为2或者度为0
②所有叶子节点都在同一层
2.完全二叉树
特点:
①至多只有最下两层中的节点的度小于2
②最下一层的叶子节点都依次排列在该层最左边位置
作业讲解
C
D
B
作业讲解
C
C
A
作业讲解
A
B C D
A
B C
H I J
3
2
3
6
7
3
4
CHZX
4.2二叉树基本操作
浙江省高中信息技术 选择性必修一 《数据与数据结构》
4.2.1 二叉树的建立
数组实现
链表实现
01
1.数组实现
(1)完全二叉树
从根节点开始,按从上而下,自左往右的顺序对n个节点进行编号,根节点编号为0,最后一个节点的编号为n-1。然后将节点用一组连续的数组元素来表示,节点编号与数组下标一一对应。
二叉树的建立
erchashu de jianli
0
1
2
3
4
1.数组实现
(2)非完全二叉树
先将它补全为一颗完全二叉树,然后将补全的二叉树按照完全二叉树的数组表示。
二叉树的建立
erchashu de jianli
练一练
1、某二叉树如下图所示,用数组来表示为( )
D
2.链表实现
用链表表示二叉树,至少需要3个域:一个数据域和两个指针域,两个指针域分别指向节点的左孩子和右孩子。
二叉树的建立
erchashu de jianli
3.list实现
二叉树的建立
erchashu de jianli
3.list实现
二叉树的建立
erchashu de jianli
练一练
A
二叉树的遍历
前序遍历
中序遍历
后序遍历
02
概 念:是按照一定的规则和次序访问二叉树中的所有节点,使得每个节点都被访问一次且仅被访问一次。
遍历方式:①前序遍历(根-左-右)
②中序遍历(左-根-右)
③后序遍历(左-右-根)
④层序遍历
二叉树的遍历
erchashu de bianli
1.前序遍历
规则:若二叉树为空,则空操作返回;否则,先访问根节点,再访问左子树,最后访问右子树。
二叉树的遍历
erchashu de bianli
(根左右)
2.中序遍历
规则:若二叉树为空,则空操作返回;否则,先访问左子树,再访问根节点,最后访问右子树。
二叉树的遍历
erchashu de bianli
(左根右)
3.后序遍历
规则:若二叉树为空,则空操作返回;否则,先访问左子树,再访问右子树,最后访问根节点。
二叉树的遍历
erchashu de bianli
(左右根)
4.层序遍历
规则:若二叉树为空,则空操作返回;否则,从根节点开始,自上而下,从左往右遍历。
二叉树的遍历
erchashu de bianli
练一练
则该二叉树的前序遍历序列是( )
则该二叉树的中序遍历序列是( )
则该二叉树的后序遍历序列是( )
则该二叉树的层序遍历序列是( )
a bdg cf
dgb a cf
gdb fc a
1.某二叉树如图所示:
a bc df g
练一练
则该二叉树的前序遍历序列是( )
则该二叉树的中序遍历序列是( )
则该二叉树的后序遍历序列是( )
则该二叉树的层序遍历序列是( )
A BDE CFG
DBE A GFC
DEB GFC A
2.某二叉树如图所示:
A BC DEF G
练一练
3. 一棵二叉树的前序遍历序列为“abdgecf”,中序遍历序列为“gdbeacf”,则该二叉树的后序遍历序列是( )
A.gdebfca B.gdebcfa C.gdebafc D.gedbfca
A
练一练
4、一棵二叉树的中序遍历序列为“dbgehafic”,后序遍历序列为“dghebifca”,请画出这棵二叉树,并确认是否唯一。
提示:先找到根,这样可由中序遍历得到左子树和右子树,然后再在子树中继续重复这一过程。
a
b
d
e
g
h
c
f
i
练一练
5.(多选题)已知6个节点的二叉树的前序遍历序列为ABCDEF,后序遍历序列为CBEFDA,则该二叉树的可能的中序遍历序列是( )
A. CBAEDF B. BCAFDE
C. BCAEDF D. CBAFDE
AC