news 2026/6/23 1:14:47

【例3-5】扩展二叉树(信息学奥赛一本通- P1340)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【例3-5】扩展二叉树(信息学奥赛一本通- P1340)

【题目描述】

由于先序、中序和后序序列中的任一个都不能唯一确定一棵二叉树,所以对二叉树做如下处理,将二叉树的空结点用·补齐,如图所示。我们把这样处理后的二叉树称为原二叉树的扩展二叉树,扩展二叉树的先序和后序序列能唯一确定其二叉树。

现给出扩展二叉树的先序序列,要求输出其中序和后序序列。

【输入】

扩展二叉树的先序序列。

【输出】

输出其中序和后序序列。

【输入样例】

ABD..EF..G..C..

【输出样例】

DBFEGAC DFGEBCA
/* //先建树 顺序存储 #include <bits/stdc++.h> using namespace std; string a; struct node{ int l; int r; char data; node(){ l=r=0; } }tre[2000]; int ind=-1;//记录读取到a数组哪一个数 void midorder(int root){//中序遍历 if(tre[root].l!=0) midorder(root*2); if(tre[root].data!='.') cout<<tre[root].data; if(tre[root].r!=0) midorder(root*2+1); } void postorder(int root){//后序遍历 if(tre[root].l!=0) postorder(root*2); if(tre[root].r!=0) postorder(root*2+1); if(tre[root].data!='.') cout<<tre[root].data; } void build(int k){ ind++; if(ind>=a.size()) return; if(a[ind]=='.'){ tre[k].data='.'; return; } else{ tre[k].data=a[ind]; tre[k].l=k*2; build(k*2); tre[k].r=k*2+1; build(k*2+1); } } int main(){ cin>>a; build(1); midorder(1); cout<<endl; postorder(1); } */ //先建树 然后链式存储 #include <bits/stdc++.h> using namespace std; string a; struct node{ int l; int r; char data; node(){ l=r=0; } }tre[2000]; int ind=-1;//记录读取到a数组哪一个数 int ind2=1; void midorder(int root){//中序遍历 if(tre[root].l!=0) midorder(tre[root].l); if(tre[root].data!='.') cout<<tre[root].data; if(tre[root].r!=0) midorder(tre[root].r); } void postorder(int root){//后序遍历 if(tre[root].l!=0) postorder(tre[root].l); if(tre[root].r!=0) postorder(tre[root].r); if(tre[root].data!='.') cout<<tre[root].data; } void build(int k){ ind++; if(ind>=a.size()) return; if(a[ind]=='.'){ tre[k].data='.'; return; } else{ tre[k].data=a[ind]; tre[k].l=++ind2; build(ind2); tre[k].r=++ind2; build(ind2); } } int main(){ cin>>a; build(1); midorder(1); cout<<endl; postorder(1); }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 6:45:08

Gin框架架构详解:高性能Go语言Web框架的设计哲学与实践

1 Gin框架简介Gin是一个用Go语言编写的高性能Web框架&#xff0c;以其极简的API设计和卓越的执行效率而闻名。自从2014年发布以来&#xff0c;Gin迅速成为Go生态中最受欢迎的Web框架之一。与那些重型的全栈框架不同&#xff0c;Gin定位为一个轻量级框架&#xff0c;专注于提供H…

作者头像 李华
网站建设 2026/6/23 12:37:17

【OpenHarmony】轻量级公共基础库commonlibrary_utils_lite

OpenHarmony 轻量级公共基础库 (commonlibrary_utils_lite) 模块 目录 模块概述模块结构模块间交互状态机转换图接口设计 1. 模块概述 1.1 功能与目标 主要功能 轻量级公共基础库&#xff08;commonlibrary_utils_lite&#xff09;是OpenHarmony系统中的通用基础组件库&…

作者头像 李华
网站建设 2026/6/23 17:30:31

41、Linux系统深入解析与操作指南

Linux系统深入解析与操作指南 1. 基础概念 在Linux系统中,有许多基础概念是理解整个系统的关键。首先是文件系统,它是数据存储和组织的基础。根文件系统(root filesystem)是整个文件系统的核心,位于 / 目录,包含了系统启动和运行所需的基本文件和目录,如 /lib 用于…

作者头像 李华
网站建设 2026/6/23 17:27:53

SSM小型餐饮综合管理系统j1c7m(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面

系统程序文件列表 系统项目功能&#xff1a;用户,菜系,特色美食,员工,员工打卡,考勤记录 SSM小型餐饮综合管理系统开题报告 一、课题背景与意义 1.1 课题背景 小型餐饮企业作为餐饮市场的重要组成部分&#xff0c;普遍面临管理模式粗放、信息零散等问题。在菜品管理上&#…

作者头像 李华
网站建设 2026/6/23 17:36:46

2025年计算机类专业的就业分析

建议收藏&#xff01;2025年计算机就业分析&#xff1a;网络安全人才缺口140万&#xff0c;20-30万年薪占比翻倍 文章分析2025年计算机专业就业现状&#xff0c;指出竞争加剧与两极分化。网络安全领域人才缺口140万&#xff0c;20-30万年薪群体占比两年翻倍至38.43%&#xff0…

作者头像 李华
网站建设 2026/6/23 14:39:32

社区工作者资源合集(第二辑)

【31】社区工作者399 文件大小: -内容特色: 社工全科精讲真题高频考点适用人群: 备考社区工作者/基层岗位的考生核心价值: 一站式掌握考点&#xff0c;短期提分上岸下载链接: https://pan.quark.cn/s/e7c301ded8af 【10】社区工作者399 文件大小: -内容特色:全程班&#xff…

作者头像 李华