zoukankan      html  css  js  c++  java
  • 4 张 GIF 图帮助你理解二叉查找树

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

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

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

  • 相关阅读:
    TCP11种状态
    多客户连接僵尸进程的处理
    gethostname(获取主机名)、gethostbyname(由主机名获取IP地址)
    点对点通信实例
    XCTF simple js
    XCTF WEB backup
    bugku SKCTF管理系统
    php漏洞 sha1函数
    bugku--速度要快
    bugku秋名山车神
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/5873097.html
Copyright © 2011-2022 走看看