先序、中序、后序遍历确定唯一树

简介: 快速学习先序、中序、后序遍历确定唯一树

遍历


先序遍历

按照根节点、左节点、右节点的顺序遍历

中序遍历

按照左节点、根节点、右节点的顺序遍历

后序遍历

按照左节点、右节点、根节点的顺序遍历


举例

如图所示:

image.png

  • 先序遍历: ABDCEF
  • 中序遍历:BDAECF
  • 后序遍历:DBEFCA

确定唯一树

  • 先序和后序无法确定唯一树,因为没有中序无法确定左右子树
  • 只有先序/后续 和中序才能确定唯一树
  • 遍历过程,先序或后序确定根节点,中序确定左右子树

先序和中序确定唯一树

  • 先序遍历: ABDCEF
  • 中序遍历:BDAECF

思路:通过先序遍历确定根节点,然后通过中序确定左右子树

  1. 通过先序确定根节点 (先序根节点是第一个) A ,中序被分成三份 BD、A、ECF,分别是中序的左子树、根节点、右子树
  2. 然后根据中序把先序分成三份  A、BD、CEF ,分别是先序的根节点、左子树、右子树
  3. 然后确定先序BD和中序BD确定左子树的唯一
  4. 然后根据先序 CEF 和 中序ECF 确定 右子树的唯一

后序和中序确定唯一树

  • 中序遍历:BDAECF
  • 后序遍历:DBEFCA

思路:通过后序遍历确定根节点,然后通过中序确定左右子树

  1. 通过后序确定根节(后序根节点是最后一个)A ,中序被分成三份 BD、A、ECF,分别是中序的左子树、根节点、右子树
  2. 然后根据中序把后序分成三份  BD、EFC、A ,分别是后序的左子树、右子树、根节点
  3. 循环重复上述步骤
相关文章
|
6月前
|
存储 算法 前端开发
589. N 叉树的前序遍历
589. N 叉树的前序遍历
33 0
|
存储 算法 C++
【二叉树】利用前序和中序遍历结果生成二叉树并输出其后序和层序遍历结果
【二叉树】利用前序和中序遍历结果生成二叉树并输出其后序和层序遍历结果
125 0
|
存储 搜索推荐
【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树(下)
【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树(下)
【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树(上)
【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树(上)
|
JavaScript 前端开发 Java
二叉树的先序、中序、后序遍历
二叉树的先序、中序、后序遍历
156 0
二叉树的先序、中序、后序遍历
|
开发工具
15分钟精通二叉树,二叉树的先序,中序,后序,层次遍历顺序
🍀🍀🍀理解,掌握二叉树先序,中序,后序,层次四种遍历顺序
179 0
15分钟精通二叉树,二叉树的先序,中序,后序,层次遍历顺序
【小白学算法】8.二叉树的遍历,前序、中序和后序
【小白学算法】8.二叉树的遍历,前序、中序和后序
【小白学算法】8.二叉树的遍历,前序、中序和后序
590_N叉树的后序遍历
590_N叉树的后序遍历
79 0