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

二叉树(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。

全国13城校区全覆盖|黑马程序员AI大模型开发(Python),就近学习、全国就业
2026-04-08黑马程序员AI大模型开发(Python)|大厂共建+实战赋能,学完即具备企业项目能力
2026-04-08黑马程序员AI大模型开发(Python)|5阶段体系化教学,从入门到精通全覆盖
2026-04-08黑马程序员AI大模型开发(Python)|培养企业应用型人才,适配行业核心需求
2026-04-08黑马程序员AI智能应用开发|上市品牌背书,大厂联合研发,打造AI复合型人才
2026-04-08全国13城校区全覆盖|黑马程序员AI智能应用开发,就近学、就近就业
2026-04-08