最近学习的一些笔记,记录一下
树(Tree)
树是一种非线性结构,树”这种数据结构真的很像我们现实生活中的“树”,这里面每个元素我们叫“节点”。
例如下面这幅图,A 节点就是 B 节点的父节点,B 节点是 A 节点的子节点。B、C、D 这三个节点的父节点是同一个节点,所以它们之间互称为兄弟节点。我们把没有父节点的节点叫作根节点,也就是图中节点E。我们把没有子节点的节点叫做叶子节点或者叶子、节点,比如图中的G、H、I、J、K、L都是叶子节点。
相关概念
- 节点的高度:节点到叶子节点的最长路径(边数)
- 节点的深度:节点到根节点的边的个数
- 节点的层数:节点的深度+1
- 树的高度:根节点的高度
举个栗子:
二叉树
树有很多结构,最常用的还是二叉树。
二叉树,就是每个节点最多分俩叉,即最多有俩子节点(左子节点和右子节点)。当然,最多有俩子节点,也可能只有一个左子节点或者右子节点或者没有节点(那就是叶子节点啦哈)。