树
在数据结构中,树是一种非线性的数据结构,它由一组节点和一组连接节点的边组成。树的定义如下:
- 树由节点组成,每个节点包含一个值和指向零个或多个子节点的指针。
- 有一个节点被指定为 根节点,它没有父节点。根节点是树的起始点。
- 除了根节点外,每个节点都有一个父节点。
- 除了叶节点外,每个节点都可以有一个或多个子节点。
- 每个节点之间的连接称为边。
概念
结点的度:一个结点的子树的个数,记为该结点的度。
叶子结点:叶子结点也称为终端结点。指 度为
0的结点。内部结点:度不为
0的结点,也称为分支结点或非终端结点。除根结点以外,分支结点也称为内部结点。层次:根为第一层,根的孩子为第二层,以此类推,若某结点在第 i 层,则其孩子结点在第 i+1 层。
树的高度(深度):一棵树的最大层数
树的度:为树内各结点最大的度,上图中结点
A的度是3,最大,所以树的度是3
称呼
- 双亲:某节点的父结点
- 孩子:某节点的子结点
- 兄弟:具有相同双亲的结点互为兄弟
分类
树可以有不同的类型,如:
- 二叉树
- 二叉搜索树
- B树
- 红黑树
- …
应用场景
这些类型的树有各自的特点和应用场景。树结构在计算机科学中有广泛的应用,例如:
- 文件系统的目录结构
- 数据库索引
- 编译器语法分析
参考:
https://blog.csdn.net/aa2528877987/article/details/135436389
