0
点赞
收藏
分享

微信扫一扫

二叉树(一)——定义、性质、操作与存储结构


定义

二叉树是n≥0个结点的有穷集合D与D上关系的集合R构成的结构。当n=0时,称该二叉树为空二叉树;否则,它为包含了一个根结点以及两棵不相交的、分别称之为左子树右子树的二叉树(递归定义)。

二叉树是有序树。

二叉树的基本形态

二叉树有如下五种基本形态,如下图:

二叉树(一)——定义、性质、操作与存储结构_结点


子树有严格的左右之分且度数小于等于2的数是二叉树;(没有左右之分的不是二叉树)

满二叉树

若一棵二叉树中的结点,或者为叶结点,或者具有两棵非空子树,并且叶结点都集中在二叉树的最下面一层.这样的二叉树为满二叉树,如下图:

二叉树(一)——定义、性质、操作与存储结构_三叉链表_02

完全二叉树

若一棵二叉树中只有最下面两层的结点的度可以小于2,并且最下面一层的结点(叶结点)都依次排列在该层从左至右的位置上。这样的二叉树为完全二叉树,如下图:

二叉树(一)——定义、性质、操作与存储结构_二叉链表_03

二叉树的性质

二叉树(一)——定义、性质、操作与存储结构_三叉链表_04

二叉树的基本操作

二叉树(一)——定义、性质、操作与存储结构_性质_05

二叉树的存储结构

顺序存储结构

1、完全二叉树的顺序存储结构

二叉树(一)——定义、性质、操作与存储结构_三叉链表_06

2、一般二叉树的顺序存储结构

二叉树(一)——定义、性质、操作与存储结构_二叉链表_07


如下图:

二叉树(一)——定义、性质、操作与存储结构_性质_08

顺序存储结构比较适合满二叉树,或者接近于满二叉树的完全二叉树,对于一些称为“退化二叉树”的二叉树,顺序存储结构的空间开销浪费的缺点表现比较突出;

链式存储结构

1、二叉链表

二叉树(一)——定义、性质、操作与存储结构_性质_09


二叉链表的节点定义如下:

二叉树(一)——定义、性质、操作与存储结构_结点_10


二叉链表使用较多;2、三叉链表

二叉树(一)——定义、性质、操作与存储结构_三叉链表_11


举报

相关推荐

0 条评论