更新时间: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。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19