数据结构中常见的树

注:不完全,以后持续更新。

1、BST树,即二叉查找树或二叉排序树

定义:或者是一颗空树,或者是具有以下性质的二叉树:

(1)若左子树不为空,则左子树上的所有节点均小于他的根节点;

(2)若右子树不为空,则右子树上的所有节点均大于根节点;

(3)他的左右子树也分别为BST树。

2、AVL树,即平衡二叉树

定义:或者是一颗空树,或者满足以下性质的二叉树:

(1)每一个节点的左子树的深度和右子树的深度只差的绝对值不超过1;

(2)左子树和右子树也均为平衡二叉树。

3、B-树(读B数)

定义:一颗m阶的B-树或者为一颗空树,或者需要满足以下条件:

(1)树中每个节点至多有m个子树;

(2)若根节点不是叶子结点,则至少需要两颗子树;

(3)除根节点之外的所有非终端节点至少有m/2课子树;

(4)所有的非终端节点中包含下列信息数据(关键字个数,指针0,关键字1,指针1,......关键字n,指针n);

(5)所有叶子节点都在同一层次上,并且不带信息。

4、B+树

定义:一颗m阶的B+树与m阶的B-树的区别是:

(1)一个节点的关键字树和子树数相等;

(2)所有的叶子节点包含了全部的关键字信息。及指向含这些关键字记录的指针,且叶子节点本身依据关键字的大小由小到大排列。

(3)所有非终端节点可以看成是索引部分,节点中仅包含其子树中最大(或最小)的关键字。

5、B-树与B+树作为索引的区别:

(1)B+树索引更加稳定,均需索引至叶子节点为止:因为B+树的所有叶子节点包含全部的关键字信息;

(2)在文件系统中进行索引时,速度快:因为B+树的非终端节点不包含卫星数据,因此每个磁盘页能够存储更多的关键字,减少了IO次数,大大提高检索效率;

(3)进行范围查找时,B+树具有更高的效率:因为B+树的的所有叶子节点依据关键字的大小排列,并以链表形式连接,只要找到范围的下限,顺着链表就能找到该范围内的所有数据。

6、红黑树

7、堆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值