美文网首页
数据结构-几个图带你理解二叉查找树

数据结构-几个图带你理解二叉查找树

作者: doudo | 来源:发表于2017-08-24 10:49 被阅读25次

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

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

二叉查找树相比于其他数据结构的优势在于查找、插入的时间复杂度较低。为O(log n)。二叉查找树是基础性数据结构,用于构建更为抽象的数据结构,如集合、multiset、关联数组等。(摘自维基百科

图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 转成有序数组

参考:http://www.jianshu.com/p/8f8876c9459d

相关文章

  • 数据结构-几个图带你理解二叉查找树

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

  • 算法和数据结构1.8二叉查找树

    二叉查找树(二叉搜索树或二叉排序树)是一种数据结构。采用了图的树形结构。数据存储于二叉查找树的各个结点中。 二叉查...

  • 数据结构 - 概要

    数组 链表 堆/栈/队列 树 数据结构 - 二叉树数据结构 - 二叉查找树数据结构 - 平衡二叉树数据结构 - A...

  • 11-二叉查找树

    二叉查找树 1.什么是二叉查找树? 二叉查找树是一种支持数据动态的插入,删除,查找的数据结构。 2.二叉查找树的设...

  • 红黑树初步理解

    为什么? 为什么要学习红黑树?我们数据结构中学习过二叉查找树,二叉查找树可以增大查找的效率,但是二叉查找树有一个巨...

  • 99-数据结构和算法

    难点:二叉树的遍历 红黑树 图的遍历 二叉查找树二叉查找树(binary search tree),二叉查找树在二...

  • 红黑树

    红黑树是一种平衡二叉查找树。发明平衡二叉查找树这类数据结构的初衷是,解决普通二叉查找树在频繁的插入、删除等动态更新...

  • 13、红黑树的理解

    在理解红黑树之前,先看一些二叉查找树 一、二叉查找树 二叉查找树,也称二叉搜索树,或二叉排序树。其定义也比较简单,...

  • 6. 二叉树创建-查找

    1. 递归方式实现二叉树的构建2. 树、二叉树、二叉查找树3. 二叉树排序树的理解4. 二叉查找树5. 二叉树的查找

  • 数据结构与算法

    数据结构线性与非线性数组、链表、栈、队列、树、图 树二叉树:顺序,最优、线索、搜索,平衡多路查找树3、排序算法4、...

网友评论

      本文标题:数据结构-几个图带你理解二叉查找树

      本文链接:https://www.haomeiwen.com/subject/tabsdxtx.html