二叉树的存储结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A^ ^
A
B
C
D
E
F
G
B
^C
^
^E
D
^F
^
^G
^
谢谢学习
主讲教师:尹红丽
《数据结构》 课程 二叉树的存储结构
主讲教师:尹红丽
目录 CONTENTS
1 顺序存储 2 二叉链表存储 3 三叉链表存储
1
顺序存储
二叉树顺序存储如何存储? 结点本身的数据信息—— 一维数组
结点间的逻辑关系—— 数组下标 如何利用数组下标来体现结点之间的逻辑关系?
ห้องสมุดไป่ตู้
完全二叉树中结点的编号可以反映出结点之间的逻辑关系 。
2
二叉链表存储
二叉链表存储如何存储? 每个数据域附设两个指针,分别指向其左右孩子结点
结点结构
lchild data rchild
data:数据域,存放该结点的数据信息; lchild:左指针域,存放指向左孩子的指针; rchild:右指针域,存放指向右孩子的指针。
2
二叉链表存储
A
A
B
C
B∧
C
D
EF
以完全二叉树的结点编 号为数组下标
用数组下标体现逻辑关系
1
顺序存储
完 全
1A
二 叉
2B
3C
树 的
4D 5E
6F 7 G
顺
HIJ
序
8 9 10
存
储
数组下标 0 1 2 3 4 5 A BCDE
以 编 号 为 下 标
67
FG
8 9 10 HI J
1
顺序存储
二
A
1A
叉
2
3
树
B
的
顺
D
序
C
补充为完全
F
二叉树
B
C
4
56
7
DF
存 储
E
G
E
G
8
9 10 11 12 13
数组下标 0
以编
1 2 3 4 5 6 7 8 9 10 11 12 13 号为
A B C ∧ D E ∧ ∧ ∧ F ∧ ∧ G 下标
1 顺序存储
一棵深度为k的右斜树需要多少个存储单元呢?
A
二叉树的顺序存储结构 一般仅存储完全二叉树
有k个结点的右斜树需要2K-1个存储单元
∧D
∧E ∧ ∧F ∧
G
∧G ∧
具具有有n个n个结结点点的的二二叉叉链链表表中中,,有有多2少n个个指指针针域域,?有有n多-1少个个孩孩 子子指指针针?,有有多n少+个1个空空指指针针?。
3
三叉链表存储
在二叉链表存储的链表结点中增加一个双亲指针域,用于指向其双亲
lchild data parent rchild