Java数据结构之树

基本概念

树是数据元素间具有层次关系的非线性结构,是由n个结点构成的有限集合,结点数为0的树叫空树。一个非空树有且仅有一个根结点,其余结点可以分为m个不相交的有限集合,每个集合又构成一棵树,叫根结点的子树。树具有“一对多”的逻辑对应关系。

树的术语

  1. 结点:构成树的基本单位
  2. 结点的路径:从根结点到该结点所经过结点的顺序排列
  3. 路径的长度:路径中包含的分支数
  4. 结点的度:结点拥有的子树的数目
  5. 树的度:树中所有结点的度的最大值
  6. 叶节点:树中度为0的结点,也叫终端结点
  7. 分支结点:树中度不为0的结点,也叫非终端结点
  8. 子结点:结点的子树的根结点,也叫孩子结点
  9. 父节点:具有子结点的结点叫该孩子结点的父节点,也叫双亲结点
  10. 子孙结点:结点的子树中的任意结点
  11. 祖先结点:结点的路径中除自身之外的所有结点
  12. 兄弟结点:和结点具有同一父节点的结点
  13. 结点的层次:根结点层次为0,其他结点的层次是父节点的层次+1
  14. 树的深度:树中所有结点的层次树的最大值+1
  15. 有序树:树的各结点的所有子树具有次序关系,不可改变位置
  16. 无序树:树的各结点的所有子树之间无次序关系,可以改变位置
  17. 森林:由多个互不相交的树构成的集合。给森林加上根结点就变为了一棵树,一棵树删除根结点就变为了森林

你可能感兴趣的:(Java数据结构)