二叉排序树、红黑树、AVL树最简单的理解 ##前言 [为什么写这篇] 之前在知乎上看过一个提问:为什么红黑树比AVL树用的场景更为广泛?其实,这两者应用场景都挺广泛的。红黑树在 和 都有一定的运用。而AVL树也在 中得到了使用。既然红黑树和AVL树这么厉害,就要进一步了解一下它们到底是什么。 ##基础准备 [需要懂点数据结构哦] 红黑树和AVL都是来源于二叉排序树,关于二叉搜索树的相关知识本文将会对一些简单的概念和操作进行分析,更多的细节需要大家自己去进一步了解。(ps:算法导论或许是一个不错的选择) ##二叉排序树 [一切为了查找、插入、删除方便] 我们都知道,线性表分为无序线性表和有序线性表。 无序线性表的数据并不是按升序或者降序来排列的,所以在插入和删除时,没有什么必须遵守的规矩而可以插入在数据尾部或者删除在数据尾部(将待删除的数据和最后一个数据交换位置),但是在查找的时候,需要遍历整个数据集,影响了效率。 有序线性表的数据则想法,查找的时候因为数据有序,可以用二分法、插值法、斐波那契查找法来实现,但是,插入和删除需要维护有序的结构,会耗费大量的时间。 为了提高插入和删除的效率,二叉排序树登场了。 二叉排序树的定义 二叉排序树 是一棵具有下列性质的二叉树。 若它的左子树不空,则左子树上所有结点的值均小于它的根结构的值若它的右子树不空,则右子树上所有结点的值均大于它的根结构的值它的左子树和右子树都是二叉排序树 定义中最为关键的特点是,左子树结点一定比父结点小,右子树结点一定比父结点大 











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