当前位置: 首页 > news >正文

谢岗东莞网站建设百度贴吧官网网页

谢岗东莞网站建设,百度贴吧官网网页,做网站的数据库的步骤,广州网站建设制作二叉排序树概念 二叉排序树是动态查找表的一种,也是常用的表示方法。 其中,它具有如下性质: 1.若它的左子树非空,则其左子树的所有节点的关键值都小于根节点的关键值。 2.若它的右子树非空,则其右子树的所有节点的…

二叉排序树概念

二叉排序树是动态查找表的一种,也是常用的表示方法。

其中,它具有如下性质:

1.若它的左子树非空,则其左子树的所有节点的关键值都小于根节点的关键值。

2.若它的右子树非空,则其右子树的所有节点的关键值都大于根结点的关键值。

3.它的左右子树也分别都是二叉排序树。

PS:对二叉排序树进行中序遍历,得到的序列,总会是一个升序的数列。

二叉排序树的建立

我们使用C语言来建立。

其中我们对二叉排序树的结构体定义如下:

typedef int ElemType;
typedef struct BTNode{ElemType key;struct BTNode *lchild,*rchild;
}BTNode,*BSTree;

建立二叉排序树的代码如下:

BSTree InsertBST(BSTree bst,BSTree s)		//遍历二叉排序树,找到合适的位置 
{if(bst==NULL)bst = s;else{if(s->key < bst->key)bst->lchild = InsertBST(bst->lchild,s);if(s->key > bst->key){bst->rchild = InsertBST(bst->rchild,s);}}return bst;
}BSTree CreateBST()		//建立二叉排序树 
{BSTree bst,s;int key;bst = NULL;printf("请输入关键字值,输入-1结束.\n");while(1){scanf("%d",&key);if(key!=-1){s = (BSTree)malloc(sizeof(BTNode));s->key = key;s->lchild = NULL;s->rchild = NULL;bst = InsertBST(bst,s);printf("成功.\n");}elsebreak;}return bst;
}

二叉排序树的插入

BSTree InsertBST(BSTree bst,BSTree s)		//遍历二叉排序树,找到合适的位置 
{if(bst==NULL)bst = s;else{if(s->key < bst->key)bst->lchild = InsertBST(bst->lchild,s);if(s->key > bst->key){bst->rchild = InsertBST(bst->rchild,s);}}return bst;
}BSTree SearchBST(BSTree bst,int key)		//查找关键值key的节点,并且返回这个节点 
{if(bst == NULL)return NULL;else if(key == bst->key)return bst;else if(key > bst->key)return SearchBST(bst->rchild,key);elsereturn SearchBST(bst->lchild,key);
}BSTree InsertBST_key(BSTree bst,int key)		//搜寻一个关键值,如果没有就插入 
{BSTree s;s = SearchBST(bst,key);if(s)printf("该节点已经存在.");else{s = (BSTree)malloc(sizeof(BTNode));s->key = key;s->lchild = NULL;s->rchild = NULL;s = InsertBST(bst,s);}return s;
}

查找二叉排序树指定节点的双亲

BSTree SearchBST_F(BSTree bst,int key,BSTree *F)		//F存储key关键值节点的双亲节点,函数返回key关键值节点. 
{if(bst == NULL)return NULL;if(key == bst->key)return bst;else{*F = bst;if(key < bst->key)return SearchBST_F(bst->lchild,key,F);elsereturn SearchBST_F(bst->rchild,key,F);}
}

http://www.hotlads.com/news/1917.html

相关文章:

  • 街区网站建设sem竞价课程
  • 天津市工程信息建设网知乎seo排名帝搜软件
  • 超轻粘土做动漫网站杭州seo全网营销
  • 做网站好还是做app好百度秒收录技术
  • 淘宝网页版电脑版入口淘宝网seo是什么意思seo是什么职位
  • 双域名网站全球新闻最新消息
  • 山东省住房和城乡建设部网站百度合伙人官网app
  • 沈阳做平板网站广告视频
  • 青海省高等级公路建设管理局网站百度广告竞价排名
  • 网站测试与发布网站优化怎么做
  • 公司官网是什么意思南昌seo外包公司
  • wordpress 最新教程视频北京seo薪资
  • 排版网站推荐龙岗网络公司
  • 邯郸企业建站网络营销中的四种方法
  • 新乡手机网站建设公司成人职业技能培训学校
  • 凤翔网站制作百度推广seo优化
  • 网站备案后怎么做友情链接翻译
  • 绵阳网站建设费用广点通官网
  • 中山网站制作建设谷歌关键词搜索工具
  • 页面设计简历青岛网络优化费用
  • 怎样做的无限制浏览网站模板网站
  • qq邮箱咋与网站绑定提醒2021年新闻摘抄
  • 网站制作技术支持seo自动优化软件安卓
  • 网站会员管理系统重庆做seo外包的
  • 5g互联如何取消网站备案宁波抖音seo搜索优化软件
  • 网业制作与网站建设seo优化几个关键词
  • php mysql网站开发长沙服务好的网络营销
  • 南京网站制作招聘环球资源网站网址
  • 最适合女生的专业排名关键词优化资讯
  • 可以自己做网站服务器不sem推广和seo的区别