9.3.2 二叉查找树

 一、二叉查找树的定义

  二叉查找树或者是一棵空树;或者是具有如下特性的二叉树:
  (1)若它的左子树不空,则左子树上所有结点的值均小于根结点的值;
  (2)若它的右子树不空,则右子树上所有结点的值均大于根结点的值;
  (3)它的左、右子树也都分别是二叉查找树。

  例如,右图所示是一棵二叉查找树。
 
  通常情况下均以如下定义的二叉链表作为二叉查找树的存储结构。
算法
  typedef struct BiTNode {     // 结点结构
   ElemType data;          // 数据元素
   struct BiTNode *lchild, *rchild; // 左右孩子指针
  } BiTNode, *BSTree;
 
   

 
思考题 下列二叉树是否也是二叉查找树呢?

  思考题 那么,能否用一个更简单的方法来判别给定的二叉树是否是二叉查找树呢?试从"遍历"的角度考虑问题。