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
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?