几种特殊的树结构

本文介绍了几种特殊的树结构,包括二叉树中的二叉搜索树(BST)、平衡二叉树(AVL树)以及红黑树。AVL树满足二叉搜索树属性并保持高度平衡,红黑树则是一种在保持搜索效率的同时,允许节点不平衡的自平衡二叉查找树,常见于STL和Linux内存管理。此外,还讨论了多叉树中的B树,一种平衡的多路查找树,B+树则是B树的变种,所有数据都保存在叶子节点,适合用于数据库索引。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

几种特殊的树结构

二叉树

二叉搜索树(BST)

也叫二叉查找树,二叉排序树,二分法的一个数据结构。
特点:
1.若它的左子树不为空,则左子树上所有的节点的值全部小于它的根节点的值
2.若它的右子树不为空,则右子树上所有结点的值全部大于它的根节点的值
3.同时它的左右子树也都是二叉搜索树

平衡二叉树(AVL树)

1.首先要具有二叉搜索树属性
2.它是一棵空树或它的左右两个字数的高度差的绝对值不超过1
3.它的左右两个子树都是一颗平衡二叉树

红黑树在这里插入图片描述

1.满足二叉查找树的性质,其实就是一种特殊的二叉查找树
2.根节点一定是黑色,其余每个节点是黑色或者红色
3.每个叶子节点(NIL)为黑色,这里指的是为空的叶子节点
4.如果一个节点是红色,那它的子节点必须是黑色的
5.从一个节点到该节点的子孙节点所有路径上包含相同数目的黑节点。(这一点是平衡的关键)。

红黑树应用
应用:STL中的set和map,linux中的虚拟内存内存管理等
插入和删除节点

红黑树的插入

红黑树的插入,首先找到这个节点要插入的位置,即一层一层比较,大的放右边,小的放左边,直到找到为NULL的节点放入即可,但是在插入的过程保持红黑如的特性,插入分为以下几种情况:
1.插入的为根节点,则直接把颜色改成黑色即可。
2.插入的节点的父节点是黑色节点,则不需要调整,因为插入的节点会初始化为红色节点,红色节点是不会影响树的平衡的。
3.插入的节点的祖父节点为null,即插入的节点的父节点是根节点,直接插入即可(因为根节点肯定是黑色)。
4.插入的节点父节点和祖父节点都存在,并

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值