1. 二叉排序树的定义
左子树结点值<根结点值<右子树结点值
2. 二叉排序树的查找
二叉排序树的查找时从根结点开始,沿着某一分支逐层向下进行比较比较的过程。若二叉排序树非空,将给定值与根结点的关键字比较,若相等,则查找成功;若不等,则当根结点的关键字大于给定关键字时,在根结点的左子树中查找,否则在根结点的右子树中查找。
二叉排序树的非递归查找算法:
BSTNode *BST_Search(BiTree T,ElemType key,BSTNode *&p){
//查找函数返回指向关键字为key的结点指针,若不存在,则返回NULL
p=NULL;//p指向被查找结点的双亲,用于以后的插入和删除操作
while(T!=null&&key!=T->data){
p=T;
if(key<T->data)
T=T->lchild;
else
T=T->Rchild;
}
return T;
}
二叉排序树的递归查找算法:
BSTNode *BST_Search(BiTree T,ElemType key,BSTNode *&am