基本概念
二叉树,顾名思义,每个节点最多有两个叉的树形结构,也就是每个节点最多会有一个左节点+右节点的树。
二叉树分为:普通二叉树、满二叉树、全二叉树
普通二叉树:就是符合定义要求的二叉树
满二叉树: 除了最底层的叶子节点,其他每个节点都有左右两个子节点,这种二叉树就叫做满二叉树。
完全二叉树:完全二叉树需要符合两个规则,左孩子编号为 2 * i,右孩子编号为2 * i + 1。
在实际应用中,完全二叉树可以用连续的节点存储。
二叉树的遍历
二叉树经典的遍历方式有三种:前序遍历、中序遍历、后序遍历
前序遍历:根节点、左节点、右节点
如下图示例:
中序遍历:左节点、根节点、右节点
如下图示例:
后序遍历:左节点、右节点、根节点
如下图示例:
关于树的深入理解
节点 ---〉 集合
边 ---〉 关系
父节点 ---〉 全集
子节点 ---〉 节点间互不相交的两个子集
常见使用是应用于各种业务逻辑中的查找操作
有个简易的思维导图说明
下图描述了各种类型树在不同系统中的一些常见的使用方法
对于多维树来讲,二叉树也有助于节约空间
多维树转位二叉树有一个常见的规范标准:左孩子,右兄弟
图示如下