(1) 若它的左子树不空,则左子树上所有结点的值均小于根结点的值;;50;1)若给定值等于根结点的关键字,则查找成功;
2)若给定值小于根结点的关键字,则继续在左子树上进行查找;
3)若给定值大于根结点的关键字,则继续在右子树上进行查找。;50;二叉链表类型定义:
typedef struct BiTNode{
KeyType key;
…… //其它成员
struct BiTNode *lchild;
struct BiTNode *rchild;
} BiTNode,*BiTree;;二叉排序树的查找:
BiTree bstsrch(BiTree bt,KeyType k){
//二叉排序树的存储结构为二叉链表,函数返回结点的//关键字为k的指针,若查找不成功,返回空指针
if (t==NULL)return NULL;
else if(bt→key==k) return(bt)
else if(bt→key k )
return(bstsrch(bt→rchild,k))
else
return(bstsrch(bt→lchild,k));
};3. 二叉排序树的构造
特点:树结构在查找的过程中动态生成。
每次插入的结点只能
原创力文档

文档评论(0)