首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客868052144号
天津科技大学 算法工程师
发布于河南
关注
已关注
取消关注
@zanejins:
10. 二叉排序树问题
题目来源和说明本题来源于2005年华中科技大学计算机保研机试真题,试通过本次专题梳理和总结二叉排序树的问题。题目描述输入一系列整数,建立二叉排序树,并进行前序,中序,后序遍历。样例输入:51 6 5 9 8输出:1 6 5 9 81 5 6 8 95 8 9 6 1简要分析这个程序的主要代码,是节点x插入树T中,保持二叉排序树的性质,即Insert(Node* T,int x)函数。这个主要是递归的思想。如果x<T.c,即插入左子树;如果x>T.c,即插入右子树。还需要特判一下,T是否为空。因为如果不处理T.c就会出问题。T为空,就直接创建一个节点赋值给T就可以啦~C++ 代码#include<iostream>#include<string.h>using namespace std;struct Node { Node *l; Node *r; int c;}Tree[110]; //静态数组int idx;Node *create() { //创建新节点 Tree[idx].l=NULL; Tree[idx].r=NULL; return &Tree[idx++];}void postOrder(Node *T) { //后序遍历 if(T->l!=NULL) { postOrder(T->l); } if(T->r!=NULL) { postOrder(T->r); } printf("%d ",T->c);}void inOrder(Node *T) { //中序遍历 if(T->l!=NULL) { inOrder(T->l); } printf("%d ",T->c); if(T->r!=NULL) { inOrder(T->r); }}void preOrder(Node *T) { //后续遍历 printf("%d ",T->c); if(T->l!=NULL) { preOrder(T->l); } if(T->r!=NULL) { preOrder(T->r); }}Node* Insert(Node *T,int x) { //插入数字 if(T==NULL) { //当前树为空 T=create(); T->c=x; return T; } else if(x<T->c){ T->l=Insert(T->l,x); //插入左子树 } else if(x>T->c) { T->r=Insert(T->r,x); //插入右子树 } return T;}int main() { int n; while(scanf("%d",&n)!=EOF) { idx=0; Node *T=NULL; for(int i=0;i<n;i++) { int x; scanf("%d",&x); T=Insert(T,x); //插入到排序树中 } preOrder(T); printf("\n"); inOrder(T); printf("\n"); postOrder(T); printf("\n"); } return 0;}同类题目二叉搜索树C++代码
点赞 0
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
08-11 11:29
门头沟学院 Java
荣耀秋招投递
看完别人发的面经和bg 感觉自己就是一坨。。焦虑中
投递荣耀等公司10个岗位
点赞
评论
收藏
分享
08-13 17:57
上海理工大学 产品经理
字节我老实了
被挂了,不长记性还想投但是我已经投了两个岗位了,我老实了
投递字节跳动等公司10个岗位
点赞
评论
收藏
分享
08-05 18:14
门头沟学院 Java
小鹏 简历挂
听说是学历厂,咋还挂简历了
小花的沉默:
是学历厂没错啊,学历太高了不要
投递小鹏汽车等公司10个岗位
点赞
评论
收藏
分享
08-08 14:34
蚌埠坦克学院 Java
没面试的一天,继续AI面试陪练
面试时最害怕被问到的问题
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
【评论得现金💰】牛客评论活动又来咯
3.8W
2
...
8月份面经整理的算法高频题集合
8399
3
...
饿了么笔试题解 8月15日
7661
4
...
美团二笔还没发邮件
6924
5
...
8.13快手秋招Java后端二面记录
3819
6
...
大疆结构秋招一面
3534
7
...
家里人一直跟我说要给领导买点东西,搞好关系
3415
8
...
快手 秋招 一面
3393
9
...
快手秋招-后端一面
3301
10
...
美团模型平台后端开发面经
3238
创作者周榜
更多
正在热议
更多
#
给26届的秋招建议
#
31250次浏览
846人参与
#
应届生初入职场,求建议
#
239293次浏览
2690人参与
#
实习的内耗时刻
#
47330次浏览
547人参与
#
发工资后,你做的第一件事是什么
#
71842次浏览
242人参与
#
工作上你捅过哪些篓子?
#
18696次浏览
122人参与
#
在职场上,你最讨厌什么样的同事
#
27344次浏览
194人参与
#
秋招投递记录
#
26846次浏览
302人参与
#
我的秋招“寄”录
#
38469次浏览
497人参与
#
秋招,不懂就问
#
10628次浏览
114人参与
#
你最近一次加班是什么时候?
#
79595次浏览
423人参与
#
网易求职进展汇总
#
112824次浏览
1064人参与
#
查收我的offer竞争力报告
#
195632次浏览
1291人参与
#
我的国央企投递进展
#
51846次浏览
312人参与
#
我的AI电子员工
#
12851次浏览
104人参与
#
如果校招重来我最想改变的是
#
278461次浏览
2898人参与
#
独居后,你的生活是更好了还是更差了?
#
12277次浏览
167人参与
#
安克创新求职进展汇总
#
39981次浏览
439人参与
#
你上一次给父母打电话是什么时候
#
11921次浏览
112人参与
#
规定下班时间vs实际下班时间
#
19721次浏览
153人参与
#
运营每日一题
#
90503次浏览
798人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务