zoukankan      html  css  js  c++  java
  • 查找二叉树

      查找二叉树,有成二叉排序树。一颗查找二叉树,或是一棵空树,或者满足以下递归条件:

        1. 查找树的左、右子树各是一棵查找树;

        2. 若查找树的左子树非空,则其左子树上的各节点值均小于根节点的值;

        3. 若查找树的右子树非空,则其右子树上的各节点值均大于根节点的值;

    查找二叉树的基本操作

      插入结点:

      1. 如果相同键值的结点已在查找二叉树中,则不再插入;

      2. 如果查找二叉树为空树,则以新结点为查找二叉树;

      3. 将要插入结点的键值与插入后的父节点的键值比较,就能确定新结点是父结点的左子结点还是右子节点,并进行相应插入。

      删除结点:

        1. 若待删除节点p是叶子节点,则直接删除该节点;

        2. 若待删除节点p只有一个字节点,则将这个子节点与待删除节点的父节点直接连接,然后删除节点p;

        3. 若带删除的结点p有两个子节点,则在其左子树上,用中序遍历寻找关键之最大的节点s,用节点s的值代替节点p的值,然后删除结点s,结点s必属于上述两种情况之一。

      

  • 相关阅读:
    Linux定时任务编写
    Linux编辑器的选择使用
    nginx配置中文域名解析
    Linux中统计某个文件夹的大小
    nginx配置文件的说明
    获取自身ip
    Python之时间模块、random模块、json与pickle模块
    python之os模块详解
    日志模块logging介绍
    Python面向过程、模块的使用
  • 原文地址:https://www.cnblogs.com/ImaY/p/4303808.html
Copyright © 2011-2022 走看看