4 张 GIF 图帮助你理解二叉查找树

简介:

二叉查找树(Binary Search Tree),也称二叉搜索树,是指一棵空树或者具有下列性质的二叉树:

1.任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
2.任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
3.任意节点的左、右子树也分别为二叉查找树;
4.没有键值相等的节点。

图1:查找 BST 中的某个元素

在二叉搜索树b中查找x的过程为:

若b是空树,则搜索失败,否则:
若x等于b的根节点的数据域之值,则查找成功;否则:
若x小于b的根节点的数据域之值,则搜索左子树;否则:
查找右子树。

422101-20160914180623367-268046051.gif

图2 ↓ :从有序数组构造一个二叉查找树

422101-20160914180633648-1967343454.gif

图3 ↓:往 BST 中插入元素

向一个二叉搜索树b中插入一个节点s的算法,过程为:

若b是空树,则将s所指结点作为根节点插入,否则:
若s->data等于b的根节点的数据域之值,则返回,否则:
若s->data小于b的根节点的数据域之值,则把s所指节点插入到左子树中,否则:
把s所指节点插入到右子树中。(新插入节点总是叶子节点)

422101-20160914180644617-1773610852.gif

图4 ↓:BST 转成有序数组
422101-20160914180656633-354099265.gif


本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/5873097.html,如需转载请自行联系原作者

相关文章
|
11月前
L2-023 图着色问题 (25 分)(图的遍历)
L2-023 图着色问题 (25 分)(图的遍历)
52 0
|
存储 索引
搜索与图论-树与图的广度优先遍历
搜索与图论-树与图的广度优先遍历
|
存储 索引
搜索与图论-树与图的深度优先遍历
搜索与图论-树与图的深度优先遍历
065.图的深度优先遍利
065.图的深度优先遍利
61 0
066.图的广度优先遍利
066.图的广度优先遍利
74 0
|
算法
树与图的深度优先遍历
复习acwing算法基础课的内容,本篇为讲解基础算法:树与图的深度优先遍历,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。
156 0
树与图的深度优先遍历
|
算法
树与图的广度优先遍历
复习acwing算法基础课的内容,本篇为讲解基础算法:树与图的广度优先遍历,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。
75 0
树与图的广度优先遍历
|
算法 前端开发 JavaScript
「LeetCode」图的深度与广度优先遍历⚡️
「LeetCode」图的深度与广度优先遍历⚡️
194 0
「LeetCode」图的深度与广度优先遍历⚡️