[路飞]二叉树的基本知识

244 阅读2分钟

基本概念

二叉树,顾名思义,每个节点最多有两个叉的树形结构,也就是每个节点最多会有一个左节点+右节点的树。

二叉树分为:普通二叉树、满二叉树、全二叉树

普通二叉树:就是符合定义要求的二叉树

满二叉树: 除了最底层的叶子节点,其他每个节点都有左右两个子节点,这种二叉树就叫做满二叉树

完全二叉树:完全二叉树需要符合两个规则,左孩子编号为 2 * i,右孩子编号为2 * i + 1。
在实际应用中,完全二叉树可以用连续的节点存储。

image.png

二叉树的遍历

二叉树经典的遍历方式有三种:前序遍历、中序遍历、后序遍历

前序遍历:根节点、左节点、右节点

如下图示例:

image.png

中序遍历:左节点、根节点、右节点

如下图示例:

image.png

后序遍历:左节点、右节点、根节点

如下图示例:

image.png

关于树的深入理解

节点 ---〉 集合

边 ---〉 关系

父节点 ---〉 全集

子节点 ---〉 节点间互不相交的两个子集

常见使用是应用于各种业务逻辑中的查找操作

有个简易的思维导图说明

下图描述了各种类型树在不同系统中的一些常见的使用方法

image.png

对于多维树来讲,二叉树也有助于节约空间

多维树转位二叉树有一个常见的规范标准:左孩子,右兄弟

图示如下

image.png

吃透二叉树基础刷题汇总

二叉树的前中后序遍历

Leetcode226.翻转二叉树

剑指 Offer 32 - II. 从上到下打印二叉树 II

LeetCode-107.二叉树的层序遍历

LeetCode-103.二叉树的锯齿形层序遍历

LeetCode-110.平衡二叉树

Leetcode-222.完全二叉树的节点个数

leetcode145.迭代法进行二叉树的后序遍历