首页 > 其他分享 >数据结构课程设计2023夏7-4 先序和中序构造二叉树

数据结构课程设计2023夏7-4 先序和中序构造二叉树

时间:2023-06-18 09:55:04浏览次数:56  
标签:课程设计 getlast int 中序 40 二叉树 序列

本题目要求用先序序列和中序序列构造一棵二叉树(树中结点个数不超过10个),并输出其后序序列。

输入格式:

在第一行中输入元素个数。

第二行中输入先序序列,用空格分隔。

第三行中输入中序序列,用空格分隔。

输出格式:

输出此二叉树的后序序列,用空格分隔,最后也有一个空格。

输入样例:

5
10 20 30 40 50
20 10 40 30 50
 

输出样例:

20 40 50 30 10 
  代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB      

#include<iostream>
using namespace std;

void getlast(int n, int *a,int *b);

int main(){
int n;
cin >> n;
int prescan[40],midscan[40];
int i;
for(i = 0;i < n; i++){
cin >> prescan[i];
}
for (i=0; i<n; i++){
cin >> midscan[i];
}
getlast(n,prescan,midscan);
cout<<endl;
system("pause");
return 0;
}

void getlast(int n, int *a,int *b)
{
if(n<=0){
return;
}
int root=a[0];
int i;
for(i=0; i<n; i++){
if(b[i]==root){
break;
}
}
getlast(i, a+1, b);
getlast(n-i-1, a+1+i, b+1+i);
cout<<root<<" ";
}

标签:课程设计,getlast,int,中序,40,二叉树,序列
From: https://www.cnblogs.com/kk4458/p/17488725.html

相关文章

  • c++实现二叉树中序遍历
    #include<iostream>usingnamespacestd;//定义二叉树节点结构体structTreeNode{  intval;  TreeNode*left;  TreeNode*right;  TreeNode(intx):val(x),left(NULL),right(NULL){}};//中序遍历函数voidinorderTraversal(TreeNode*root){......
  • java基于springboot+vue的网吧管理系统,附源码+数据库+论文+PPT,适合课程设计、毕业设计
    1、项目介绍随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,网吧管理系统就是信息时代变革中的产物之一。任何系统都要遵循系统设计的基......
  • C++《面向对象程序设计课程设计》[2023-06-16]
    C++《面向对象程序设计课程设计》[2023-06-16]《面向对象程序设计课程设计》任务书时间:班级:一分组和评分周一上午8:30作业布置周四5/6节开始,周五12点前检查,提问并打分;每人完成自己的课程设计报告,不能复制其他同学的报告内容,报告中主要说明自己在设计中所作的工作。......
  • C/C++《数据结构》课程设计指导书[2023-06-15]
    C/C++《数据结构》课程设计指导书[2023-06-15]《数据结构》课程设计指导书适用专业:计算机2022级编写人:李玉龙2023年5月《数据结构》课程设计指导书一、设计目的1、训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题;2.初步掌握软......
  • 合并二叉树
    合并二叉树题目:给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为NULL的节点将直接作为新二叉树的节点。示例1:输入:输......
  • 二叉树的直径
    二叉树的直径题目:给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例:给定二叉树返回3,它的长度是路径[4,2,1,3]或者[5,2,1,3]。注意:两结点之间的路径长度是以它们之间边的数目表......
  • 2023-06-14:我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,
    2023-06-14:我们从二叉树的根节点root开始进行深度优先搜索。在遍历中的每个节点处,我们输出D条短划线(其中D是该节点的深度)然后输出该节点的值。(如果节点的深度为D,则其直接子节点的深度为D+1根节点的深度为0如果节点只有一个子节点,那么保证该子节点为左子节点给出遍......
  • 2023-06-14:我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,
    2023-06-14:我们从二叉树的根节点root开始进行深度优先搜索。在遍历中的每个节点处,我们输出D条短划线(其中D是该节点的深度)然后输出该节点的值。(如果节点的深度为D,则其直接子节点的深度为D+1根节点的深度为0如果节点只有一个子节点,那么保证该子节点为左子节点给出遍历输出......
  • 2023-06-14:我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,
    2023-06-14:我们从二叉树的根节点root开始进行深度优先搜索。在遍历中的每个节点处,我们输出D条短划线(其中D是该节点的深度)然后输出该节点的值。(如果节点的深度为D,则其直接子节点的深度为D+1根节点的深度为0如果节点只有一个子节点,那么保证该子节点为左子节点给出遍历输出......
  • C/C++C语言课程设计[2023-06-14]
    C/C++C语言课程设计[2023-06-14]C语言课程设计要求1、每位同学按照指定的题目完成C语言课程设计,题目不能更换,每人1题,独立完成。上课时间同学们进入学习通课程(C语言课程设计)里签到,老师会有讲解检查。2、考核要求成绩组成考核/评价环节分值(或百分比)考核/评价细则平时成绩考勤、......