【问题描述】 给定一棵二叉树的先序遍历序列和中序遍历序列,求解: 1、这棵树的后序遍历序列; 2、从这棵树的右侧观察该树,从根节点到叶子节点,依次输出能被观测到的节点序列。用C++语言实现
时间: 2024-05-28 11:13:32 浏览: 176
数据结构实验报告8-树-求二叉树先序、中序、后序遍历次序的第k个访问结点-实验内容与要求.docx
【解决思路】
1、根据先序遍历序列找到根节点,然后在中序遍历序列中找到根节点的位置,根据根节点将中序遍历序列分为左子树和右子树,同时在先序遍历序列中也能得到左子树和右子树的先序遍历序列,递归处理左右子树并输出根节点即可得到后序遍历序列。
2、从根节点开始,先遍历右子树,记录每一层第一个被观测到的节点,最后按照层次遍历的顺序输出这些节点即可。
【代码实现】
阅读全文