[数据结构]-11树

具有 n ( n 0 ) n(n\ge 0) 个结点的有限集称为树。当 n = 0 n = 0 时称为空树;当 n 1 n\ge 1 时,仅有一个特定的称为根的结点,其余结点可分为 m ( m 0 ) m(m\ge 0) 个互不相交的有限集。
每一个集合本身又是一棵树,称为根的子树。

树的特点:树是非线性结构,数据元素具有"一对多"的逻辑关系;树中的每个元素最多有一个前驱结点,有多个后继结点。

树的结点

  • 树的每一个数据元素称为结点,如上图中的 A , B , C , . . . , M A,B,C,...,M 都是结点。
  • 非空树中无前驱结点的结点称为根结点,如上图中的 A A 为树的根结点。
  • 根结点以外的分支结点称为内部结点。
  • 结点的子树的根称为该结点的孩子结点,该结点称为孩子结点的父结点。
  • 同一个父结点的孩子结点之间称为兄弟结点。
  • 从根到某个结点的所经过的分支上的所有结点称为结点的祖先。
  • 而以某结点为根的子树中的任一结点称为该结点的子孙。
  • 没有任何孩子结点的结点称为叶子结点。
  • 双亲在同一层的结点互为堂兄。

结点的度和层次

  • 结点拥有的子树数称为该结点的度。
  • 树内各结点的度的最大值称为树的度。
  • 度不为 0 的分支结点称为非终端结点。
  • 层次:从根开始计算,根为第一层,其孩子为第二层…若某结点在 l l 层,则其孩子结点在 l + 1 l+1 层。树中任一结点的层次等于其双亲结点的层次加 1。
  • 树中结点的最大层次称为树的深度。

有序树、无序树

  • 树中结点的各子树从左到右有次序,这样的树称为有序树。
  • 树中结点的各子树无次序,这样的树称为无序树。

m ( m 0 ) m(m\ge 0) 棵互不相交的树的集合称为森林。
一棵树可以看成一个特殊的森林,而森林中的各子树加上一个双亲结点,森林便变成了树。

树与线性结构的比较

线性结构的元素之间具有一对一的关系:第一个元素无前驱,最后一个元素无后继,其他元素仅有一个前驱一个后继。
树的元素之间具有一对多的关系:根结点无双亲,叶子结点无孩子,其他结点仅一个双亲多个孩子。

参考

  • 《数据结构(C语言版)》 严魏敏、吴伟民著
  • 《数据结构(第3版)》 刘大有等著
发布了19 篇原创文章 · 获赞 0 · 访问量 755

猜你喜欢

转载自blog.csdn.net/qq_39953750/article/details/103896297