zoukankan      html  css  js  c++  java
  • 二叉搜索树

    二叉查找树(英语:Binary Search Tree),也称为二叉搜索树、有序二叉树(ordered binary tree)或排序二叉树(sorted binary tree)

    性质

    指一棵空树或者具有下列性质的二叉树:

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

    优势

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

    二叉搜索树的查找算法

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

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

    在二叉搜索树插入节点的算法

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

    1. 若b是空树,则将s所指节点作为根节点插入,否则:
    2. 若s->data等于b的根节点的数据域之值,则返回,否则:
    3. 若s->data小于b的根节点的数据域之值,则把s所指节点插入到左子树中,否则:
    4. 把s所指节点插入到右子树中。(新插入节点总是叶子节点)
  • 相关阅读:
    Handler
    闹钟
    自动朗读 TTS
    语音转换成文本
    文件的存与读
    SurfaceView的绘图机制
    Chronometer
    拖动球
    如何整理一个被测对象的特性
    部门间沟通管理心得(持续不定期更新)
  • 原文地址:https://www.cnblogs.com/daryl-blog/p/11369547.html
Copyright © 2011-2022 走看看