尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

东方博宜OJ 2195:二叉排序树 ← 数组模拟

发布时间:2026/9/6 3:06:00

资讯中心
01
ARTICLE

东方博宜OJ 2195:二叉排序树 ← 数组模拟

东方博宜OJ 2195:二叉排序树 ← 数组模拟
【题目来源】https://oj.czos.cn/p/2195【题目描述】从键盘读入 n 个不相同的整数以每个整数作为结点的值来创建一棵二叉排序树假设读入的第 1 个点是这棵树的根结点。请求出这棵二叉排序树中序和后续遍历的结果【输入格式】共两行第一行为整数 n。;第二行为 n 个不重复的整数 ai。(0n10^51≤ai≤10^5本题中 ai 为随机生成的数值)【输出格式】共两行第一行为中序遍历的结果第二行为后序遍历的结果同一行的输出用空格隔开。【输入样例】823 45 12 6 7 89 13 47【输出样例】6 7 12 13 23 45 47 897 6 13 12 47 89 45 23【数据范围】0n10^51≤ai≤10^5【算法分析】● 二叉排序树Binary Sort TreeBST又称二叉搜索树。二叉排序树或者是一棵空树或者是具有下列性质的二叉树。1若它的左子树不空则左子树上所有结点的值均小于它的根结点的值2若它的右子树不空则右子树上所有结点的值均大于它的根结点的值3它的左、右子树也分别为二叉排序树。● 二叉排序树遵循“左小右大”规则树中没有相同关键字的结点。● 中序遍历一棵二叉排序树可以得到一个结点值递增的有序序列。● lch[u] 左孩子rch[u] 右孩子初始全部为 00 表示空。​​​​​​​【算法代码】#includebits/stdc.husingnamespacestd;constintmaxn1e55;intlch[maxn],rch[maxn];voidinsert(intu,intx){if(xu) {if(lch[u]0) lch[u]x;elseinsert(lch[u],x); }else{if(rch[u]0) rch[u]x;elseinsert(rch[u],x); } }voidin(intu){//in-Orderif(u0)return;in(lch[u]); coutu ;in(rch[u]); }voidpost(intu){//post-Orderif(u0)return;post(lch[u]);post(rch[u]); coutu ; }intmain(){intn,x,root; cinn;for(inti1; in; i) { cinx;if(i1) rootx;elseinsert(root,x); }in(root),coutendl,post(root);return0; }/* in: 8 23 45 12 6 7 89 13 47 out: 6 7 12 13 23 45 47 89 7 6 13 12 47 89 45 23 */【参考文献】https://blog.csdn.net/hnjzsyjyj/article/details/163724358https://blog.csdn.net/a10b12c13d14e15/article/details/164401168https://blog.csdn.net/hnjzsyjyj/article/details/120397275https://blog.csdn.net/hnjzsyjyj/article/details/154818899
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。