数据结构的基础知识中重要的一点就是能否根据两种不同遍历序列的组合(有三种:先序+中序,先序+后序,中序+后序),唯一的确定一棵二叉树。然后就是根据二叉树的不同遍历序列(先序、中序、后序),重构二叉树。显然,这三种组合并不是都能唯一确定二叉树的,其中先序+后序就不能唯一确定一棵二叉树,其他两种组合可以唯一的确定一颗二叉树。
由先序序列和后序序列不能唯一确定一棵二叉树,因无法确定左右子树两部分。
反例:任何结点只有左子树的二叉树和任何结点只有右子树的二叉树,其前序序列相同,后序序列相同,但却是两棵不同的二叉树。

这两棵二叉树的先序遍历序列都为2-1-3,后序遍历序列都为3-1-2。但是显然它们是不同的二叉树,所以根据先序序列和后序序列并不能唯一确定二叉树。

先序序列和后序序列并不能唯一确定二叉树相关推荐

  1. 已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法...

    已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法 #define N 10 //二叉树节点的个数 char postorderstr[]={};//后序序列 char i ...

  2. PAT甲级1020 Tree Traversals:[C++题解]树的遍历、由中序序列和后序序列递归建树

    文章目录 题目分析 题目链接 题目分析 题意重述:给定一棵二叉树的后序遍历序列和中序遍历序列,让求层次遍历的序列. 分析: 后序遍历:先 左子树.右子树 ,最后再遍历根结点. 中序遍历:先左子树,再根 ...

  3. 二叉树(前序遍历序列、中序遍历序列、后序遍历序列、层次遍历序列、深度、叶子数)

    Description 已知二叉树的一个按前序遍历输入的字符序列,如abc,de,g,f, (其中,表示空结点).请建立二叉树,并输出建立二叉树的前序遍历序列.中序遍历序列.后序遍历序列.层次遍历序列 ...

  4. 7-10 先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数 (10 分)

    7-10 先序序列创建二叉树,输出先序序列.中序序列.后序序列并输出叶子结点数 (10 分) 对于给定的二叉树,输出其先序序列.中序序列.后序序列并输出叶子结点数. 输入格式: 二叉树的先序遍历序列. ...

  5. 由前序序列与中序序列实现后序遍历

    二叉树是一种特殊的树,二叉树只有两个分支,分别是该节点的左儿子和右儿子. 前序遍历:就是先遍历根节点,然后再访问左子树与右子树.遍历子树的时候同样也是先遍历根节点然后在遍历他的左子树与右子树. 中序遍 ...

  6. 满二叉树先序序列转后序序列

    算法一 //利用先序序列和后序序列的关系直接转 void PreToPost(ElemType pre[], int l1, int h1, ElemType post[], int l2, int ...

  7. 天梯选拔:先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数

    思路分析: 这道题考察二叉树的建立以及二叉树的前序遍历.中序遍历和后序遍历.首先按照先序建立二叉树.在这期间需要先建立一个结构体,包括当前节点的值,以及它的左儿子和右儿子.注意这里不能直接存左儿子和右 ...

  8. 每天一道LeetCode-----根据中序遍历和后序遍历重构二叉树

    Construct Binary Tree from Inorder and Postorder Traversal 原题链接Construct Binary Tree from Inorder an ...

  9. java根据前序和中序建树_Java实现根据前序遍历构建二叉树(前序遍历、中序遍历、后序遍历)...

    Java实现根据前序遍历构建二叉树(前序遍历.中序遍历.后序遍历),Java关于ACM的代码真的好少,想参考如何用java实现二叉树googl 前言 Java关于ACM的代码真的好少,想参考如何用ja ...

最新文章

  1. greenplum:空值转换函数
  2. hadoop集群时间同步
  3. fisher判别分析原理及实现
  4. Note6:batch file programming
  5. 10.5 Throwable类
  6. 正则表达式验证代码(字母、数字、Email、网址、电话号码、汉字、身份证号码)
  7. 安装rlwrap 的简单方法,亲测好用
  8. spring mvc学习(40):restful的crud实现增加方式
  9. mysql锁的基本类型_Mysql的锁
  10. MapWinGis入门
  11. 【转】SpringMVC整合websocket实现消息推送及触发
  12. Ps 初学者教程,如何用文字增强您的照片?
  13. 思维导图,UML在线画图工具
  14. eclipse常用快捷方式
  15. json增加反斜杠 php_PHP在引号前面添加反斜杠(PHP去除反斜杠)
  16. xdebug(32) : warning C4229: 使用了记时错误 : 忽略数据上的修饰符
  17. Spring切面中实现自定义注解
  18. Python Matplotlib 简易入门学习画图
  19. [附源码]计算机毕业设计JAVA高校创新创业项目管理系统
  20. @RequiredArgsConstructor产生循环依赖问题 解决办法

热门文章

  1. NFS服务器的配置与管理
  2. 【思路整理】凑数问题
  3. Linux Crontab执行hadoop命令脚本失败
  4. [转载] 我叫李小帅
  5. C - char与wchar_t(TCHAR/WCHAR)之间的相互转换
  6. HTML5 拖放Drag和drop用法以及事件介绍
  7. 简明GISer Python学习指南
  8. 框架源码系列九:依赖注入DI、三种Bean配置方式的注册和实例化过程
  9. 开发者不可错过的 10 个人工智能开源项目
  10. oracle获取某年第一天和最后一天,Oracle取得本月、本年第一天和最后一天