4 张 GIF 图帮助你理解二叉查找树
来源:互联网 发布:mac sudo password 编辑:程序博客网 时间:2024/04/25 14:06
二叉查找树(Binary Search Tree),也称二叉搜索树,是指一棵空树或者具有下列性质的二叉树:
- 任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
- 任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
- 任意节点的左、右子树也分别为二叉查找树;
- 没有键值相等的节点。
二叉查找树相比于其他数据结构的优势在于查找、插入的时间复杂度较低。为O(log n)。二叉查找树是基础性数据结构,用于构建更为抽象的数据结构,如集合、multiset、关联数组等。(摘自维基百科)
下面 4 张 GIF 动图,是 penjee 官博制作分享。正好伯小乐最近看到,分享给大家。
图1:查找 BST 中的某个元素
在二叉搜索树b中查找x的过程为:
- 若b是空树,则搜索失败,否则:
- 若x等于b的根节点的数据域之值,则查找成功;否则:
- 若x小于b的根节点的数据域之值,则搜索左子树;否则:
- 查找右子树。
图2 ↓ :从有序数组构造一个二叉查找树
图3 ↓:往 BST 中插入元素
向一个二叉搜索树b中插入一个节点s的算法,过程为:
- 若b是空树,则将s所指结点作为根节点插入,否则:
- 若s->data等于b的根节点的数据域之值,则返回,否则:
- 若s->data小于b的根节点的数据域之值,则把s所指节点插入到左子树中,否则:
- 把s所指节点插入到右子树中。(新插入节点总是叶子节点)
图4 ↓:BST 转成有序数组
0 0
- 4 张 GIF 图帮助你理解二叉查找树
- 4 张 GIF 图帮助你理解二叉查找树
- 4 张 GIF 图帮助你理解二叉查找树
- 4 张 GIF 图帮助你理解二叉查找树
- 4张GIF图帮助你理解二叉查找树算法
- 理解二叉查找树
- 图文并茂!8 张 Gif 图学会 Flexbox
- 扎克伯格的26张PPT帮助你提高工作效率
- 查找--二叉查找树
- 二叉树前驱后继的查找(这个容易理解)
- 帮助你理解Linux的配置文件
- 帮助你快速理解openfire是什么
- Android中显示gif图(支持多张显示)
- 24张神GIF动图:数学概念这么酷!
- 8张图理解Java
- 8张图理解Java
- 8张图理解Java
- 8张图理解Java
- java对象的强引用,软引用,弱引用和虚引用
- 单例模式
- Cocos2d-x屏幕适配之Sprite绘制原理
- Struts1.3——文件上传和下载
- category和extension
- 4 张 GIF 图帮助你理解二叉查找树
- 创建、结构、行为型设计模式类型归纳
- 轻松把玩HttpClient之封装HttpClient工具类(二),插件式配置HttpClient对象
- 20160728表结构更改
- Java NIO系列教程(六) Selector
- jxl.read.biff.BiffException: Unable to recognize OLE stream原因及解决方法
- 湖南省第八届省赛 Updating a Dictionary (模拟)
- 轻松把玩HttpClient之封装HttpClient工具类(三),插件式配置Header
- 自定义垂直的SeekBar并用图片做滑块和背景