数据结构-二叉排序树BST(基础知识)

二叉排序树简介

二叉排序树(BST)

二叉排序树又称为二叉查找树,即 BinarySearchTree(BST),左子树所有结点值小于等于根结点值,根结点值小于等于右子树任意一个结点值,左右子树分别又是一颗二叉排序树

这个很符合中序遍历的顺序对不对(#.#)

二叉排序树的优势

由于是二叉排序树,当我们要去寻找某个数值的结点时候会变得非常容易,为什么呢?因为形象的说二叉排序树通过根结点把一个结构分成了小和大两部分,我们一次将数值与一层一层的根作比较很容易找到结点的最终位置。这种思想不正是二分查找的思路吗(#.#)。在插入节点还是搜索结点都是这种思想,并且在这颗二叉树中我们查找的最大次数就是此二叉树的深度

二叉排序树的缺陷

二叉排序树虽然对查找和插入很方便,但是对于某些特殊情况,二叉排序树的高效就显得很尴尬了,比如说一棵树结点全部挂在右子树上,形似一条单链表,此时查找变成线性的了

在这里插入图片描述

二叉排序树的应用场景

海量数据并发存储;红黑树在 linux 虚拟内存管理的应用;B+ 树和 B- 树在文件系统目录的应用;路由中路由搜索引擎等等

二叉排序树缺陷的解决

红黑树诞生了!

发布了197 篇原创文章 · 获赞 62 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/abcnull/article/details/104579308