二叉树的遍历C语言
二叉树作为FDS课程最核心的数据结构之一,要求每个人都掌握!
这是一道简单的二叉树问题!
我们将给出一颗二叉树,请你输出它的三种遍历,分别是先序遍历,中序遍历,后序遍历!
输入格式:
二叉树将以这样的形式给出:
第一行给出一个正整数N(N<=100),表示二叉树上的节点个数!
接下来N行,每行包含三个整数,i,l,r,分别代表第i个节点的左右孩子!
如果它的左/右孩子为空,则在对应位置给出-1!
题目保证1是根节点!
输出格式:
请你输出它的三种遍历!
第一行输出先序遍历,第二行输出中序遍历,第三行输出后序遍历!
每行末尾无多余空格!
输入样例:
在这里给出一组输入。例如:
3
1 2 3
2 -1 -1
3 -1 -1
输出样例:
在这里给出相应的输出。例如:
1 2 3
2 1 3
2 3 1
#include <stdio.h>
#include <stdlib.h>typedef int Elementyple;
typedef struct TNode* BiTree;
typedef struct TNode{Elementyple Data;struct TNode* Left;struct TNode* Right;
}tnode;int N;BiTree createNode() {BiTree node = new TNode;node->Left = NULL;node->Right = NULL;return node;
}BiTree CreaTree(int number[10000][15],int x){if(x==-1)return NULL;BiTree BT;// BT=(BiTree)malloc(sizeof(struct TNode));BT=createNode();BT->Data=x;BT->Left=CreaTree(number,number[x][0]);BT->Right=CreaTree(number,number[x][1]);return BT;
}
int flag=0;void PreorderTraversal( BiTree BT ){if(BT){flag++;if(flag==N)printf("%d",BT->Data);else printf("%d ",BT->Data);PreorderTraversal(BT->Left);PreorderTraversal(BT->Right);}
}
void InorderTraversal( BiTree BT){if(BT){InorderTraversal(BT->Left);flag++;if(flag==2*N)printf("%d",BT->Data);elseprintf("%d ",BT->Data);InorderTraversal(BT->Right);}
}
void PostorderTraversal( BiTree BT ){if(BT){PostorderTraversal(BT->Left);PostorderTraversal(BT->Right);flag++;if(flag==3*N)printf("%d",BT->Data);elseprintf("%d ",BT->Data);}
}
int main(){int i,a[10000][15],b[10000];scanf("%d",&N);for(i=1;i<=N;i++){scanf("%d%d%d",&b[i],&a[i][0],&a[i][1]);}BiTree BT; BT=CreaTree(a,1);PreorderTraversal(BT);printf("\n");InorderTraversal(BT);printf("\n");PostorderTraversal(BT);
}
相关文章:
二叉树的遍历C语言
二叉树作为FDS课程最核心的数据结构之一,要求每个人都掌握! 这是一道简单的二叉树问题! 我们将给出一颗二叉树,请你输出它的三种遍历,分别是先序遍历,中序遍历,后序遍历! 输入格式…...
PostgreSQL到Doris的迁移技巧:实时数据同步新选择!
PostgreSQL可以说是目前比较抢手的关系型数据库了,除了兼具多样功能和强大性能之外,还具备非常优秀的可扩展性,更重要的是它还开源,能火不是没有理由的。 虽然PostgreSQL很强大,但是它也有短板,相对于专业…...
【三维】关于万向节锁的直白解释
1. 分析理解 万向节长什么样子,请参考这篇文章中的图片:https://zhuanlan.zhihu.com/p/42519819。 看了很多篇解释性的文章,没怎么看懂。因为我个人最关注的问题点在于: 现实物体旋转为什么没有所谓的万向节锁的bug,…...
程序员的修养 - 变量
变量几乎代码程序程序 中最基础的组成单元,程序员几乎无时无刻都在接触变量。但你对变量的理解真的足够吗? 首先,什么是变量?! 第一层理解:一个可以改变的量,区别于常量,用户可以修…...
判断一个元素是否在可视区域中
文章目录 一、用途二、实现方式offsetTop、scrollTop注意 getBoundingClientRectIntersection Observer创建观察者传入被观察者 三、案例分析 参考文献 一、用途 可视区域即我们浏览网页的设备肉眼可见的区域,如下图 在日常开发中,我们经常需要判断目标…...
【Monero】Wallet RPC | Wallet CLI | 门罗币命令行查询余额、种子、地址等命令方法教程
ubuntu22.04 首先在运行daemon,详细安装运行教程可参考:The Monero daemon (monerod) ./monerodWallet CLI run ./monero-wallet-cli如果还没有钱包就根据提示创建钱包即可 输入密码 查询余额 balance查询种子 seed其他可执行命令操作࿱…...
FPGA----ZCU106的petalinux 2019.1使用USB传输数据
1、实际项目中需要用到开发板的串口进行数据交互,之前讲的几节只是启动了网口(如下链接)。因此,本次给大家带来的官方自带串口例程的使用方法,本文的vivado工程和下述连接一样,PL端什么配置都没有。 FPGA-…...
备考ICA----Istio实验10---为单个主机配置TLS Istio Ingress Gateway实验
备考ICA----Istio实验10—为单个主机配置 TLS Istio Ingress Gateway实验 1. 环境准备 部署httpbin kubectl apply -f istio/samples/httpbin/httpbin.yaml 2. 证书生成 2.1 生成根证书 生成根证书keyfile和crt文件 mkdir example_certs_root openssl req -x509 -sha256 …...
【4】单链表(有虚拟头节点)
【4】单链表(有虚拟头节点) 1、虚拟头节点2、构造方法3、node(int index) 返回索引位置的节点4、添加5、删除6、ArrayList 复杂度分析(1) 复杂度分析(2) 数组的随机访问(3) 动态数组 add(E element) 复杂度分析(4) 动态数组的缩容(5) 复杂度震荡 7、单链…...
html第二次作业
骨架 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, initi…...
Android客户端自动化UI自动化airtest从0到1搭建macos+脚本设计demo演示+全网最全最详细保姆级有步骤有图
iOS客户端自动化UI自动化airtest从0到1搭建macosdemo演示-CSDN博客 一、基础环境 1. 安装jdk 选择jdk8 如果下载高版本 可能不匹配会失败 下载.dmg文件 苹果电脑 | macOS | jdk1.8 | 环境变量配置_jdk1.8 mac-CSDN博客 Java Downloads …...
基于单片机的自动浇灌系统的设计
本文设计了一款由单片机控制的自动浇灌系统。本设计的硬件电路采用AT89C51单片机作为主控芯片,采用YL-69土壤湿度传感器检测植物的湿度。通过单片机将采集湿度值与设定值分析处理后,控制报警电路和水泵浇灌电路的开启,从而实现植物的自动浇灌。 1 设计目的 随着生活水平的…...
WebStorm 与 VSCode 对比分析
WebStorm 与 VSCode 对比分析 1. 引言 简述WebStorm和VSCode的普及和重要性 WebStorm和Visual Studio Code(VSCode)是当前最受欢迎的代码编辑器之一,它们在现代软件开发中扮演着至关重要的角色。WebStorm,由JetBrains开发,是一个强大的IDE,特别受JavaScript开发者的欢…...
git命令-项目使用
项目中用到的git命令,记录下来,后续项目可以直接用 配置命令 一次性设置: git config --global user.name "Your Name" git config --global user.email "youremailaddress.com"git config --global alias.pl "pu…...
python安装删除以及pip的使用
目录 你无法想象新手到底会在什么地方出问题——十二个小时的血泪之言! 问题引入 python modify setup 隐藏文件夹 环境变量的配置 彻底删除python 其他零碎发现 管理员终端 删不掉的windous应用商店apps 发现问题 总结 你无法想象新手到底会在什么地方…...
7、鸿蒙学习-共享包概述
HarmonyOS提供了两种共享包,HAR(Harmony Archive)静态共享包,和HSP(Harmony Shared Package)动态共享包。 HAR与HSR都是为了实现代码和资源的共享,都可以包含代码、C库、资源和配置文件…...
亚马逊测评新策略:解决底层环境防关联,提升下单成功率
对于做测评的环境系统,确保稳定性和成功率是非常重要的。市面上有各种环境方案,如虚拟机、模拟机、gcs、云手机、VPS等。然而,这些方案不仅成本高,而且成功率很低。因此,一个好的环境系统是成功的基础。 亚马逊平台的…...
容器和注解开发
1.创建容器的两种方式 //1.加载类路径下的配置文件//ApplicationContext ctx new ClassPathXmlApplicationContext("applicationContext.xml"); //2.从文件系统下加载配置文件(绝对路径) ApplicationContext ctx new FileSystemXmlApplicationContex…...
有趣且重要的JS知识合集(21)浏览器内置对象讲解之Dom篇
1、Dom 1.1、概念 Document Object Model(文档对象模型), 整个WEB页面, 所有的Dom元素都在Document整个文档里。DOM就是把整个文档页面当做一个对象进行操作, document 下 包含了 根据 html 创建 的 Dom 对象, 这个DOM对象, 以树形结构展示, 即DOM树 …...
3.两数相加 - 链表
文章目录 题目简介题目解答代码: 题目链接 大家好,我是晓星航。今天为大家带来的是 两数相加 相关的讲解!😀 题目简介 题目解答 通过题目给的第一个示例来解析 图解如下: l1的2和l2的5首先相加变为7 这里相加结果为7…...
终极Keen-UI独立组件使用指南:如何在大型项目中实现精确的包大小控制
终极Keen-UI独立组件使用指南:如何在大型项目中实现精确的包大小控制 【免费下载链接】Keen-UI A lightweight Vue.js UI library with a simple API, inspired by Googles Material Design. 项目地址: https://gitcode.com/gh_mirrors/ke/Keen-UI Keen-UI是…...
ComfyUI-AnimateDiff-Evolved完整指南:从零开始掌握AI动画生成
ComfyUI-AnimateDiff-Evolved完整指南:从零开始掌握AI动画生成 【免费下载链接】ComfyUI-AnimateDiff-Evolved Improved AnimateDiff for ComfyUI and Advanced Sampling Support 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-AnimateDiff-Evolved …...
NSC_BUILDER:从Switch游戏文件管理的困境到高效解决方案
NSC_BUILDER:从Switch游戏文件管理的困境到高效解决方案 【免费下载链接】NSC_BUILDER Nintendo Switch Cleaner and Builder. A batchfile, python and html script based in hacbuild and Nuts python libraries. Designed initially to erase titlerights encryp…...
别再用Python写AI后端了!PHP 9.0原生协程实现类ChatGPT实时流响应——附可运行GitHub仓库(限前200名领取)
更多请点击: https://intelliparadigm.com 第一章:PHP 9.0异步编程与AI聊天机器人教程概览 PHP 9.0 引入了原生协程(Native Coroutines)与 async/await 语法支持,标志着 PHP 正式迈入现代异步编程时代。该版本底层基于…...
揭秘微信单向好友检测:WechatRealFriends技术深度解析与实战指南
揭秘微信单向好友检测:WechatRealFriends技术深度解析与实战指南 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealF…...
【车辆控制】基于电动车静态PID与动态(动学地平线)自适应巡航控制策略的比较分析附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书…...
AI助手成本监控仪表盘:本地化Token用量与费用可视化方案
1. 项目概述:一个轻量级的AI助手成本监控仪表盘最近在折腾各种AI助手工具,像Cursor、Claude这些,用起来是真爽,但月底一看账单,心里就有点发毛。特别是当你开了多个项目,让AI助手帮你写代码、分析文档、甚至…...
统信UOS远程协助实战:从内网到外网,手把手教你用自带工具搞定远程桌面
统信UOS远程协助全场景实战指南:内网穿透与公网直连的终极解决方案 在数字化转型浪潮中,远程办公已成为企业运营和个人工作的刚需。统信UOS作为国产操作系统的佼佼者,其内置的远程协助工具凭借原生集成、安全稳定和操作简便三大优势ÿ…...
Xenos DLL注入器:5分钟解决Windows进程注入难题
Xenos DLL注入器:5分钟解决Windows进程注入难题 【免费下载链接】Xenos Windows dll injector 项目地址: https://gitcode.com/gh_mirrors/xe/Xenos 你是否曾经面对Windows进程注入的复杂操作感到无从下手?想象一下,你需要测试一个自定…...
手把手教你逆向分析携程旅行App的私有TCP协议(附So库解密实战)
深度解析移动应用私有TCP协议逆向工程实战 在移动互联网时代,应用开发者越来越重视数据传输的安全性,许多主流应用如携程旅行等纷纷采用私有TCP协议替代标准HTTP协议进行通信。这种变化给安全研究人员、数据工程师和技术爱好者带来了新的挑战——当传统抓…...
