您当前的位置: 首页 >  光怪陆离的节日

32二叉排序树的定义、查找、插入和删除

光怪陆离的节日 发布时间:2021-01-17 14:16:36 ,浏览量:4

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(keydata) T=T->lchild;
Else T=T->rchild;
}
Return T;
}
3、 二叉排序树的插入

描述代码如下:
Int BST_Insert(Bitree &T,KeyType k){
//在二叉排序树T中插入一个关键字为k的结点
If(TNULL){ //原树为空,新插入的记录为根节点
T=(BiTree)malloc(sizeof(BSTNode));
T->key=k;
T->lchild=T->rchild=NULL;
Return 1; //返回1,表示成功
}
Else if(kT->key) //树中存在相同关键字的结点
Return 0;
Else if(kkey) //插入到T的左子树中
Return BST_Insert(T->lchild,k);
Else //插入到T的右子树中
Return BST_Insert(T->rchild,k);
}

4、 二叉排序树的构造

Void Creat_BST(BiTree &T,KeyType str[],int n){
//用关键字数组str[]建立一个二叉排序树
T=NULL; //初始化时bt为空树
Int i=0;
While(i

关注
打赏
查看更多评论

光怪陆离的节日

暂无认证

  • 4浏览

    0关注

    916博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录