PAT1099 Build A Binary Search Tree

PAT-A1099 Build A Binary Search Tree 题目内容及题解 A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a node contains only nodes with keys less than the node's key. The right su... 阅读详情
题目链接

http://www.nowcoder.com/pat/5/problem/4323

题目描述:

n个节点,按顺序给出每个节点节点的左右孩子的下标,构造出一个数,再给一些整型数据,将这些数据放入对应的树的节点位置,使得构造出一个BST,然后层序输出这颗二叉树上所有节点的key值。

题目分析:

水题,一开始把题理解错了,以为是先构造玩左边的树,再构造右子树……结果就是按顺序来的。中序遍历的变形。

代码:
#include<iostream>
#include<queue>
#include<stack>
#include <algorithm>
using namespace std;
struct Node
{
    int val;
    int lChild;
    int rChild;
    Node() :val(0), lChild(-1), rChild(-1){

    }
};
struct Node node[105];
int num[105];
int cnt = 0;
void inorderTraverse(int root){
    if (root != -1){
        inorderTraverse(node[root].lChild);
        node[root].val = num[cnt++];
        inorderTraverse(node[root].rChild);
    }
}
int main()
{
    int N;
    cin >> N;
    stack<int> s;
    s.push(0);
    int num1, num2,idx;
    for (int i = 0; i < N;i++){
        cin >> num1 >> num2;
        node[i].lChild = num1;
        node[i].rChild = num2;
    }
    for (int i = 0; i < N; i++){
        scanf("%d",&num[i]);
    }
    sort(num,num+N);
    inorderTraverse(0);
    queue<int> q;
    printf("%d",node[0].val);
    if (node[0].lChild != -1){
        q.push(node[0].lChild);
    }
    if (node[0].rChild != -1){
        q.push(node[0].rChild);
    }
    while (!q.empty()){
        idx = q.front();
        q.pop();
        printf(" %d",node[idx].val);
        if (node[idx].lChild != -1){
            q.push(node[idx].lChild);
        }
        if (node[idx].rChild != -1){
            q.push(node[idx].rChild);
        }
    }
    return 0;
}
[华为ensp]双核心的园区网 (给部分只会emm......借鉴的朋友提个醒,在group-member e0/0/2 to e0/0/20是所选,所以到了p l t那会给2-20端口都配置上trunk,别紧张,不是你问题)完成上述配置后,PC1可以ping通HTTP2服务器,Client1可以访问HTTP2服务器的HTTP站点,如果不能就要检查上述是否正确。本次实验主要目的是采用双核心的冗余网络,采用MSTP和VRRP技术,在核心层交换机上配置SC1上配置OSPF协议。SC1交换机上配置VRRP。在SC1上配置DHCP。 阅读详情

相关推荐

VSCode + Clangd 配置避坑实录:从‘红波浪线’到完美代码提示的完整心路

本文详细记录了VSCode与Clangd配置过程中的常见问题及解决方案,从编译数据库生成到参数调优,帮助C++开发者快速解决代码提示失效、头文件找不到等问题,实现完美代码补全体验。重点介绍了Clangd与LLDB的集成配置及性能优化技巧,适用于Linux和跨平台开发环境。

weixin_28829479的博客 490

1099 Build A Binary Search Tree——PAT甲级

思路:首先根据给出的结点建立二叉树本身,之后按照给出的数字排序后以中序遍历的方式建立二叉搜索树。build函数是建树,built函数是将二叉搜索树数据读入已有的树。

flyidj的博客 1131

避开SM30维护视图的坑:自动更新字段+日志记录的5个关键配置步骤

本文深入解析了SAP ABAP开发中SM30维护视图的深度定制,聚焦于实现自动更新字段与日志记录功能。文章详细阐述了从SE54配置起点到核心编码的5个关键步骤,重点讲解了如何利用事件驱动模型(如05创建事件和01保存前事件)安全操作动态数据结构,并提供了避免常见陷阱的实用技巧,帮助开发者构建稳定可靠的自动化维护机制。

plant的博客 622

[PAT-A 1099]Build A Binary Search Tree

考察二叉排序树: 题目大意: 二叉树有N个节点(节点编号0~N-1),给出每个节点的左右孩子的节点的编号,不存在用-1表示 给出一个N个整数的序列,需要把这N个整数填入二叉树的节点之中,使二叉树成为一颗二叉查找树 输出这个二叉树的层序遍历 思路: 以节点的关系建立二叉排序树的结构,然后中序遍历的过程填入已经排好序的序列,最后再进行层序遍历 题目直接给定的是节点与编号的关系,使用二叉树的静态写法,...

RegulusF的博客 183

跟着团子学SAP CO:熟练使用结果分析码实现各个场景下收入成本的匹配(一) KKA2/CJ88

PS模块中对财务顾问最难的点在于项目结算,特别是销售型的项目结算。针对客户型项目结算我列举了以下常见的收入成本匹配的一些场景: (1)在项目执行过程中会多次开票,但由于各期成本浮动很大(如前期可能只涉及一些人工、中期全是比较金额较大的材料费),所以希望开票的时候能通过合理的一些指标进行主营业务成本与主营业务收入的匹配。 (2)项目过程中会多次开票,开票确认主营业务收入时,直接将累计发生的实际成本结转为主营业务成本。 (3)项目过程中虽多次开票,但不确认收入,所有发生的实际成本月末计算为在制品,最后项目一次性

Lucas1211的博客 9533

【AI产品思路】用户旅程图与用户全生命周期:到底是什么关系?

用户旅程图(User Journey Map)和用户全生命周期(User Lifecycle)是两种不同的分析框架。用户旅程聚焦单次交易体验的完整过程(如浏览→下单→售后),关注触点、情绪和优化点;而用户生命周期则关注用户与平台的长期关系(从认知到流失),着重提升留存和LTV。两者互为补充:生命周期是时间维度的关系框架,旅程图是行为维度的体验路径。电商运营中,旅程优化改善单次体验,生命周期优化解决长期增长问题,二者结合才能实现体验提升与商业效率的双赢。

qq_25438419的博客 217

PAT 甲级 1099  Build A Binary Search Tree

1099 Build A Binary Search Tree (30 point(s)) A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a node contains only nodes wi...

漫浸天空的雨色的备忘录~ 972

Android 13.0 双屏时触摸失效问题排查与修复

摘要:本文记录了RK3588 Android12开发板上主屏触摸失效问题的排查与解决过程。通过分析发现,USB触摸设备被错误关联到辅屏(displayId=3)而非主屏(displayId=0)。解决方案是修改TouchInputMapper.cpp,强制触摸设备使用INTERNAL viewport(主屏),并保持设备在viewport不活跃时仍启用。该修改涉及约40行代码,有效解决了多显示器环境下触摸设备错误映射的问题,同时提供了详细的调试方法和注意事项。

ip0417的博客 353

[PAT] A1099 Build A Binary Search Tree

题目大意 给出二叉搜索树的树型和各个节点值,求出该树的后序遍历结果。 思路 用静态结构体数组表示树。序列按照值从小到大即树的中序遍历结果。根据输入确定树型,在中序遍历的过程中填入值。接着层序遍历一次输出即可。(也可遍历时标记满二叉树情况下的index,根据index值从大到小输出即为层序遍历结果) AC代码 #define _CRT_SECURE_NO_WARNINGS #include...

yue的博客 141

运维简历优化指南,DeepSeek助您运维简历秒变高分!

例如,当掌握了新的运维技术,如 Serverless 架构的运维管理,就将其添加到简历的专业技能部分,并简要描述在相关项目中的应用情况和成果,如 “在 [项目名称] 中,负责 Serverless 架构的运维工作,成功实现了应用的低成本、高弹性运行,降低了运维成本 30%”。上传简历至 DeepSeek,并输入指令:“请根据以下岗位招聘要求,帮我重新解构我的简历,按照【教育背景→实习经历→项目经历→个人评价→技能证书】的模块,输出一份符合下述岗位的简历,提升我的求职竞争力。

大模型大数据攻城狮的专栏 1467

搞定ESD(二):ESD干扰机理分析

大家好,我是记得诚。上文介绍了ESD的基本知识,对ESD的测试标准进行了解析,包括静电发生器的介绍,实验布置要求,静电放电实验的实施及判定等内容。本文主要介绍ESD的干扰机理。

记得诚 4297

PAT 1099 Build A Binary Search Tree

树的遍历不一定只能根据一个值,一棵树上可以有多个值,这些值之间相互有对应关系,通过其他值也能遍历一棵树(结构体就可以存储多一个数据)总结:又是不会写的题目,多写题目,多练习,多复习题目!好好学习,天天向上!

weixin_50679551的博客 258

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

PAT甲级1099 Build A Binary Search Tree

本题考查 二叉搜索树 思路 给定二叉搜索树结构,给定二叉搜索树中所有结点键值,将这些键值插入,并输出层序遍历结果。 重点就是根据二叉搜索树结构插入键值,根据二叉搜索树左子树元素小于根结点,右子树元素大于根结点,可以确定假设左子树有L个结点,右子树有R个结点,则根结点就是已经排好序的候选键值中的第L+1个。得到以上结论,接下来的重点就是计算一个结点左右子树的结点数,可以使用递归的方法计算子树结点数,...

R.I.P Kobe Bryant 187

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

PAT-ADVANCED1099——Build A Binary Search Tree

我的PAT-ADVANCED代码仓:https://github.com/617076674/PAT-ADVANCED 原题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805367987355648 题目描述: 题目翻译: 1099 建立一棵二分搜索树 一棵二分搜索树是一棵二叉树,递归地定义如下: ...

清风阁 354

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

pat甲级1099 build a Binary Search Tree

1099 Build A Binary Search Tree (30 分) A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a node contains only nodes with keys...

qq_41698081的博客 234

pat 1099 Build A Binary Search Tree

A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a node contains only nodes with keys less than the node's key. The right

suichen1的专栏 457

PAT A1099 Build A Binary Search Tree

PAT A1099 Build A Binary Search Tree Sample Input: 9 1 6 2 3 -1 -1 -1 4 5 -1 -1 -1 7 -1 -1 8 -1 -1 73 45 11 58 82 25 67 38 42 Sample Output: 58 25 82 11 38 67 45 73 42 思路 1:同A 1064 填词法: ...

qq_42347617的博客 200

PAT甲级 1099 Build A Binary Search Tree

浙江大学PAT题目解答内容. Contribute to ZouJiu1/PAT development by creating an account on GitHub.GitHub - ZouJiu1/PAT: 浙江大学PAT题目解答内容。

邹九的个人博客 310

PAT 甲 1099 Build A Binary Search Tree

2022.1.28 练习 PAT甲 1099 Build A Binary Search Tree (原题链接) 题解如下: #include <bits/stdc++.h> using namespace std; const int MAX_SIZE=110; int n; int indexx=0; int num[MAX_SIZE]; struct node { int data; int lchild; int rchild; }Node[MAX_SIZE];

想买很多漂亮衣服但是买不起的博客 902

【PAT甲级】1099 Build A Binary Search Tree

A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a node contains only nodes with keys less than the node's key. The right...

haohulala的博客 235

PAT.A1099 Build A Binary Search Tree

返回目录 题意 二叉树有N 个结点(结点编号为0~N-1),给出每个结点的左右孩子结点的编号(不存在用-1表示)。接着给出一个N个整数的序列,需要把这N个整数填入二叉树的结点中,使得二叉树成为一棵二叉查找树。输出这棵二叉查找树的层序遍历序列。 样例(可复制) 9 1 6 2 3 -1 -1 -1 4 5 -1 -1 -1 7 -1 -1 8 -1 -1 73 45 11 58 82 25 67 ...

大模型天花板 442

【PAT】A1099 Build A Binary Search Tree

A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a node contains only nodes with keys less than the node's key. The right...

为了远大的理想,冲锋! 207

PAT Advanced 1099 Build A Binary Search Tree

1099 Build A Binary Search Tree A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties: The left subtree of a node contains only nodes with keys less th...

ZQYnn's blog 326
上一篇: LeetCode273. Integer to English Words
下一篇: LeetCode43. Multiply Strings
_IanXiao
博客等级 码龄12年 84粉丝 241原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值