目录
🪴为什么有树形结构?
1.树形结构是天然的查找,利用树形结构可进行高效的查找与搜索,比线性查找效率高得多,如电脑中的文件系统,就是树形,逐级逐层的查找文件
2.一般,树形结构查找搜索操作的时间复杂度为 O(log n),n为树的深度
🌿树?非树?
树形结构它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的
树:
- 子树不相交;
- 除了根结点以外,每个结点有且仅有一个父结点;
- 一棵N个结点的树有N - 1 条边
🌲常用的树形结构:
🌱关于树形的基础概念
- 节点的度:一个节点含有的子树的个数称为该节点的度; 如下图:A的度为6
- 树的度:一棵树中,最大的节点的度称为树的度; 如下图:树的度为6
【另】假若一棵树结点最大的度为2,则可称该树为二叉树
- 叶子节点或终端节点:度为0的节点称为叶节点; 如下图:B、C、H、I...等节点为叶节点
- 双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点; 如下图:A是B的父节点
- 孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点; 如下图:B是A的孩子节点
- 根结点:一棵树中,没有双亲结点的结点;如下图:A
- 节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;
- 树的高度或深度:树中节点的最大层次; 如下图:树的高度为4
- 非终端节点或分支节点:度不为0的节点; 如下图:D、E、F、G...等节点为分支节点