查找二叉树

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

 

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

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

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

查找二叉树的基本操作

  插入结点:

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

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

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

  删除结点:

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

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

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

 

  

posted @ 2015-03-02 22:09  吉喆吉  阅读(345)  评论(0编辑  收藏  举报