[数据结构]-11树

我们两清 提交于 2020-01-08 20:41:47

  • 什么是树?

具有 n(n0)n(n\ge 0) 个结点的有限集称为

  • n=0n = 0 时称为空树

  • n1n\ge 1 时,

    • 仅有一个特定的称为的结点
    • 其余结点可分为 m(m0)m(m\ge 0) 个互不相交的有限集
    • 每一个集合本身又是一棵树,称为根的子树
      在这里插入图片描述
  • 树的特点

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

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

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

    • 树中结点的各子树从左到右有次序,这样的树称为有序树
    • 树中结点的各子树无次序,这样的树称为无序树
  • 什么是森林?

m(m0)m(m\ge 0) 棵互不相交的树的集合称为森林

  • 树与森林的关系
    • 一棵树可以看成一个特殊的森林
    • 森林中的各子树加上一个双亲结点,森林便变成了树

树与线性结构的比较

  • 线性结构的元素之间具有一对一的关系:

    • 第一个元素无前驱
    • 最后一个元素无后继,
    • 其他元素仅有一个前驱一个后继
  • 树的元素之间具有一对多的关系:

    • 根结点无双亲
    • 叶子结点无孩子
    • 其他结点仅一个双亲多个孩子

    参考资料:
    [1] 《数据结构(C语言版)》 严魏敏、吴伟民著
    [2] 《数据结构(第3版)》 刘大有等著

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!