本科数据结构课程的漏网之鱼-红黑树(上)

在我大学的时候,就曾经从参加面试的学长那里知道红黑树这种数据结构,但是经过我的观察,绝大部分的本科数据结构课程里都没有这部分内容。本文将介绍这种被本科教学体系遗弃,但却常常被工作面试中提到的数据结构,并且为后面的HashMap的内容做铺垫。

定义与性质

首先需要明确的是,红黑树是一棵二叉搜索树,如果不了解二叉搜索树的朋友可以先去了解一下。这里想到了本人在研究生复试的时候被问到什么是二叉搜索树,一时竟然没想起来。

下面是一棵典型的红黑树,我们可以看到这颗红黑树的确是一棵二叉搜索树。

红黑树

一般来说,红黑树具有以下5个性质:

  • 节点由红色和黑色组成

  • 且根节点是黑色

  • 所有的叶子节点都是黑色

  • 根节点到叶子节点的路径上不可能出现两个连续的红色节点

  • 从任一节点出发到每个叶子节点都包含相同数量的黑色节点

红黑树的查找

因为红黑树是一棵二叉搜索树,所以同样具有二叉树的性质:左子树的所有节点都小于当前节点的值,右子树的所有节点都大于当前节点的值。所以,查找节点的算法就很简单了,我们来了解一下查找的流程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值