二叉树有几种遍历方式?

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

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

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

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

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

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

二叉树的遍历方式

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

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

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

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

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

责任编辑:华轩 来源: 今日头条
相关推荐

2020-04-27 07:05:58

二叉树左子树右子树

2022-10-26 23:58:02

二叉树数组算法

2021-04-20 08:37:14

数据结构二叉树

2021-09-15 07:56:32

二叉树层次遍历

2009-08-11 13:29:57

C#二叉树遍历

2021-01-13 10:03:36

二叉树层序遍历层次遍历

2024-01-23 12:54:00

C++编程语言代码

2021-04-19 07:47:42

数据结构二叉树Tree

2021-09-29 10:19:00

算法平衡二叉树

2013-07-15 16:35:55

二叉树迭代器

2021-03-17 08:19:22

二叉树LeetCode

2021-07-13 11:32:41

二叉树数据结构算法

2020-09-23 18:25:40

算法二叉树多叉树

2021-04-28 20:12:27

数据结构创建

2021-03-22 08:23:29

LeetCode二叉树节点

2021-08-27 11:36:44

二叉树回溯节点

2021-05-06 17:46:30

二叉树数据结构

2021-09-15 07:40:50

二叉树数据结构算法

2021-09-16 18:28:02

二叉树遍历递归

2021-07-16 08:57:31

迭代遍历二叉树
点赞
收藏

51CTO技术栈公众号