详细图解二叉树四种遍历(前序中序后序层次遍历)

文章目录

  • 一.前序遍历
    • 常规操作
    • 简单方法
  • 二.中序遍历
    • 常规操作
    • 简单方法
  • 三.后序遍历
    • 常规操作
  • 四.层次遍历
    • 常规操作

本文中以此二叉树为例
详细图解二叉树四种遍历(前序中序后序层次遍历)_第1张图片

一.前序遍历

常规操作

先根,再左,再右
详细图解二叉树四种遍历(前序中序后序层次遍历)_第2张图片

确定了遍历整体结构:
在这里插入图片描述

详细图解二叉树四种遍历(前序中序后序层次遍历)_第3张图片

确定了左子树中的整体结构
在这里插入图片描述

继续操作:

详细图解二叉树四种遍历(前序中序后序层次遍历)_第4张图片

到此左子树中的遍历已经完成
在这里插入图片描述

详细图解二叉树四种遍历(前序中序后序层次遍历)_第5张图片

确定右子树中的整体结构
在这里插入图片描述

详细图解二叉树四种遍历(前序中序后序层次遍历)_第6张图片

在这里插入图片描述

详细图解二叉树四种遍历(前序中序后序层次遍历)_第7张图片

前序结束
结果为:A B D F E C G I J H K
在这里插入图片描述

简单方法

从根结点出发向左开始绕二叉树一圈,经过的节点顺序即为先序遍历顺序
详细图解二叉树四种遍历(前序中序后序层次遍历)_第8张图片
结果为:A B D F E C G I J H K

二.中序遍历

常规操作

先左,再根,再右
详细图解二叉树四种遍历(前序中序后序层次遍历)_第9张图片

由此可确定根A在中间,下面分别确定左右子树中的顺序
在这里插入图片描述

左子树中:

详细图解二叉树四种遍历(前序中序后序层次遍历)_第10张图片

由此确定了左子树中的顺序
在这里插入图片描述
详细图解二叉树四种遍历(前序中序后序层次遍历)_第11张图片

在这里插入图片描述

右子树中:
对右子树进行整体划分
详细图解二叉树四种遍历(前序中序后序层次遍历)_第12张图片
由此可以确定:
在这里插入图片描述
继续:
详细图解二叉树四种遍历(前序中序后序层次遍历)_第13张图片
在这里插入图片描述

详细图解二叉树四种遍历(前序中序后序层次遍历)_第14张图片

在这里插入图片描述

中序遍历结束
结果为:F D B E A I G J C H K

简单方法

以该二叉树为例
详细图解二叉树四种遍历(前序中序后序层次遍历)_第15张图片

结果为:F D B E A I G J C H K

三.后序遍历

常规操作

先左,再右,再根

详细图解二叉树四种遍历(前序中序后序层次遍历)_第16张图片

将整体结构化分出来,后序遍历时根节点永远在最后一位

在这里插入图片描述

详细图解二叉树四种遍历(前序中序后序层次遍历)_第17张图片

继续对左子树的结构进行划分

在这里插入图片描述

详细图解二叉树四种遍历(前序中序后序层次遍历)_第18张图片

自此,左子树中遍历结束

在这里插入图片描述

详细图解二叉树四种遍历(前序中序后序层次遍历)_第19张图片

划分右子树结构

在这里插入图片描述

详细图解二叉树四种遍历(前序中序后序层次遍历)_第20张图片

在这里插入图片描述

详细图解二叉树四种遍历(前序中序后序层次遍历)_第21张图片

在这里插入图片描述
后序遍历结束

结果为:F D E B I J G K H C A

四.层次遍历

常规操作

将二叉树每一行作为一个整体,从上到下输出,每行按照从左到右的顺序输出
详细图解二叉树四种遍历(前序中序后序层次遍历)_第22张图片
第一行:A
第二行:B C
第三行:D E G H
第四行:F I J K
结果为:A B C D E G H F I J K

你可能感兴趣的:(数据结构,算法,java,开发语言)