算法基础: 什么是红黑树?

本文介绍了二叉查找树的基本特性和优点,并指出其在不平衡时查找性能下降的问题。接着引入红黑树,这是一种自平衡的二叉查找树,通过特定的颜色规则和旋转策略确保查找效率。红黑树广泛应用于JDK的TreeMap和TreeSet等数据结构中。文章通过实例展示了红黑树插入新节点后的调整过程,包括变色和旋转操作。
摘要由CSDN通过智能技术生成

学习红黑树之前,需要先了解 二叉寻找树(Binary Search Tree).

一. 二叉查找树

1. 二叉查找树(BST)特征

(1) 左子树上室友节点的值均小于或等于它的根节点的值.
(2) 右子树上室友节点的值均大于或等于它的根节点的值.
(3) 左、右子树也分别为二叉排序树.

下图就是一颗典型的二叉查找树:
在这里插入图片描述
这样的数据结构有什么好处?我们以查找节点为10的数为例:

1.查看根节点9:

在这里插入图片描述

2.由于10 > 9,因此查看右孩子13:

在这里插入图片描述

3.由于10 < 13,因此查看左孩子11:

在这里插入图片描述

4.由于10 < 11,因此查看左孩子10,发现10正是要查找的节点:

在这里插入图片描述

2.二叉树的优点

这种方式正是二分查找的思想,查找所需的最大次数等同于二叉查找树的高度. 在插入节点的时候也

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值