我画了 20 张图,给女朋友讲清楚红黑树 作者:CJW 红黑树是一种常见的自平衡二叉查找树,常用于关联数组、字典,在各种语言的底层实现中被广泛应用,Java的TreeMap和TreeSet就是基于红黑树实现的。本篇分享将为读者讲解红黑树的定义、创建和用途。 一.红黑树的定义 每个节点或者是黑色,或者是红色。根节点是黑色。每个叶子节点是黑色。如果一个节点是红色的,则它的子节点必须是黑色的从任意一个节点到叶子节点,经过的黑色节点是一样的。 这段关于 红黑树 的描述来源于 《算法导论》,你看完这段话可能一脸懵逼。本文希望能够由浅入深地、渐进式地引导读者了解红黑树,因此我们会先从红黑树的意义说起,为什么我们需要一棵红黑树。 二. 平衡二叉查找树 我们以这样一个数组为例 [42,37,18,12,11,6,5] 构建一棵二叉搜索树,由于数组中任意一点都可以作为二叉搜索树的根节点,因此这棵二叉搜索树并不唯一,我们来看一个极端的例子(以42作为根节点,顺序插入素) 






































2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/21108.html