二叉搜索树

特性:

  二叉搜索树(二叉排序树、二叉查找树)或者是一颗空树;或者是具有下列性质的二叉树:(1)若它的左子树不空,则左子树上的所有结点的值均小于它的根结点的值;(2)若它的右子树不空,则右子树上的所有结点的值均大于它的根结点的值;(3)它的左、右子树也分别为二叉搜索树。中序遍历可以得到一个有序序列。

查找:

  这个比较容易。

插入:

  这个比较容易。新插入的结点一定是一个新添加的叶子结点。

删除:

  假设删除的结点为x,分为三种情况:

  1、如果x没有孩子结点,那么只是简单地将它删除,并修改它的父节点,用空指针作为孩子结点来替换x。

  2、如果x有一个孩子结点,那么将这个孩子结点提升到x原来的位置,并修改X的父节点,用x的孩子结点来替换x。

  3、如果x有两个孩子结点,那么找到x的后继y(一定在x的右子树中),并让y占据树中x的位置。后面可能还需要做些调整。

posted @ 2014-10-31 15:50  yyxayz  阅读(195)  评论(0编辑  收藏  举报