首页人工智能技术资讯正文

怎样理解二叉树?二叉树的遍历方式

更新时间:2023-04-28 来源:黑马程序员 浏览量:

IT培训班

二叉树(Binary Tree) 是一种树形数据结构,其中每个父节点最多可以有两个子节点。 二叉树的每个节点(node)包含三个属性:data 数据、left 左子节点的地址、right 右子节点的地址。

满二叉树(Full Binary Tree):每个结点要么没有子结点,要么有两个子结点。

1682652995207_32.png

完美二叉树(Pefect Binary Tree):每个结点都有两个子结点,所有叶子结点都在同一层。

1682653046724_33.png

完全二叉树(Complete Binary Tree):从根结点到倒数第二层为完美二叉树,最后一层可以不完全填充,其叶子结点都靠左对齐。

完全二叉树

二叉树天然的具有递归结构,二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的, 分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树。

二叉树递归结构

二叉树的遍历方式

LeetCode 题目中,二叉树的遍历方式是最基本,也是最重要的一类题目。先介绍一下二叉树的遍历方式。

先序遍历(前序遍历):按照根节点 -> 左孩子 -> 右孩子 的方式遍历,即「先序遍历」,每次先遍历根节点,遍历结果为 1 2 4 5 3 6 7;

二叉树的遍历

中序遍历:按照左孩子 -> 根节点 -> 右孩子 的方式遍历,即「中序序遍历」,遍历结果为 4 2 5 1 6 3 7;

1682653816102_37.png

后序遍历:按照左孩子 -> 右孩子 -> 根节点 的方式遍历,即「后序序遍历」,遍历结果为 4 5 2 6 7 3 1;

后序遍历

层序遍历:按照每一层从左向右的方式进行遍历,遍历结果为 1 2 3 4 5 6 7。

层序遍历

分享到:
在线咨询 我要报名
和我们在线交谈!