首先了解什么是数据结构中的树:
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合
一个节点有0个或多个直接后继 节点
有1个(子节点)或 0个(根节点) 直接前驱
不能有环结构
目录结构 典型数结构
根节点: 树的起始位置 一棵树 一定有根节点
子节点: 树结构中 除根节点外 其他节点都称作 子节点
叶子节点: 特殊的子节点, 没有后继的 子节点
树的度: 以树中 直接后继最多的节点 个数 称该树的 度
树的深度: 从根开始 到每一个叶子节点 最长的经过的节点 个数
即树的层数
树的路径: 从根节点开始 到目标节点 经过的节点顺序
子树: 一颗树 中的 一部分节点 构成的一颗 树 称该树是 其子树
数据结构中 主要研究 二叉树:
二叉树: 一个度为2的树
1. 二叉树有0个或1个或2个直接后继节点且严格区分左右即使只有一个子节点也要区分左右。
2. 一个二叉树 其 子树 也一定是二叉树
二叉树(Binary Tree )是n(n≥0)个节点的有限集合,它或者是空集(n=0),
或者是由一个根节点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成。
二叉树与普通有序树不同,二叉树严格区分左孩子和右孩子,
即使只有一个子节点也要区分左右。
二叉树的特例:
满二叉树: 除叶子节点外 其他有所节点 都有两个 直接后继 且 叶子节点都在最后一层
完全二叉树: 只有最下面两层有度数小于2的节点,
且最下面一层的叶节点集中在最左边的若干位置上。
除最底层 没有拍满外 其他层 均 盘满 且 每一层都需要按照先左后右的顺序排列
带权二叉树:
二叉树的 路径上 带有 权值