数据结构之树的定义、属性以及二叉树的定义与分类

目录

树的定义

树的属性

 二叉树

二叉树的性质

完全二叉树

满二叉树

平衡二叉树

二叉搜索树

红黑树


树的定义

树状图是一种数据结构,它是由 n(n>=1)个有限结点组成一个具有层次关系的集合。
把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:
①每个结点有零个或多个子结点;
②没有父结点的结点称为根结点;
③每一个非根结点有且只有一个父结点;
④除了根结点外,每个子结点可以分为多个不相交的子树;

树的属性

 

 

 二叉树

我们以前介绍的线性表一样,一个没有限制的线性表应用范围可能有限,但是我们对线性表进行一些限制就可以衍生出非常有用的数据结构如栈、队列、优先队列等。
树也是一样,一个没有限制的树由于太灵活,控制起来比较复杂。如果对普通的树加上一些人为的限制,比如节点只允许有两个子节点,这就是我们接下来要介绍的二叉树。
二叉树是一个每个结点最多只能有两个分支的树,左边的分支称之为左子树,右边的分支称之为右子树。

二叉树的性质

(1) 在非空二叉树中,第 i-1 层的结点总数不超过 , i>=1;

(2) 深度为 h-1 的二叉树最多有个结点(h>=1),最少有 h 个结点;

(3) 对于任意一棵二叉树,如果其叶结点数为 N0,而度数为 2 的结点总数为 N2,则 N0=N2+1;

完全二叉树

若设二叉树的高度为 h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层有叶
子节点,并且叶子结点都是从左到右依次排布,这就是完全二叉树( 就是完全二叉树)。

 

满二叉树

除了叶结点外每一个结点都有左右子节点且叶子结点都处在最底层的二叉树。

平衡二叉树

又被称为 AVL 树,它是一颗空树或左右两个子树的高度差的绝对值不超过 1,并且左右两个子树都是一棵平衡二叉树。

 二叉搜索树

 又称二叉查找树、二叉排序树(Binary Sort Tree)。它是一颗空树或是满足下列性质的二叉树:

1)若左子树不空,则左子树上所有节点的值均小于或等于它的根节点的值;

2)若右子树不空,则右子树上所有节点的值均大于或等于它的根节点的值;

3)左、右子树也分别为二叉排序树。

红黑树

是每个节点都带有颜色属性(颜色为红色或
黑色)的自平衡二叉查找树,满足下列性质:
1)节点是红色或黑色;
2)根节点是黑色;
3)所有叶子节点都是黑色;
4)每个红色节点必须有两个黑色的子节点。(从每个叶子到根的所有路径上不能有两个连续的红色节点。)
5)从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点。

Supongo que te gusta

Origin blog.csdn.net/weixin_40582034/article/details/119014429
Recomendado
Clasificación