Ⅴ. 树

1. 树的基本术语

  1. 结点
  2. 结点的度 : 拥有的分支个数(该结点子结点的个数)
  3. 树的度 : Max(结点的度)
  4. 叶子结点,非叶子结点
  5. 孩子,双亲,兄弟,祖先,子孙
  6. 层次 : 从根开始,根为第一层,根的孩子为第二层,依此类推
  7. 树的高度 = 树的深度 : 树中结点最大层次
  8. 结点的高度 : 从该结点的最底层叶子结点算起,记最底层的高度为1,到该结点所经过的结点个数(包括此结点)为结点的高度
  9. 结点的深度 :计算一个结点的深度, 从 根结点算起,记根的结点深度为1,可以这样理解,从1开始计数,而不是0(统一规定一下),到该结点所经过的结点个数(包括此结点)为结点的深度
    [注] 有些参考书记最底层高度为0,根的结点深度为0,在此,统一记为1
  10. 堂兄弟
  11. 森林
  12. 树的性质:
    • (1) 树中的结点数 = 所有结点的度数 + 1
    • (2) 度为 m 的树中第 i 层上至多有 m^(i-1) 个结点
    • (3) 高为 h , 度为 m 的树,至多有( (m^h)-1)/(m-1)
    • (4) 具有 n 个结点的 m 叉树的最小高度为logm(n*(m-1)+1)取上整
      [注] (2) -> (3) -> (4) (可推导)

树的深度和高度的图解

[注]
树的深度是从根结点开始,自上而下逐层累加
树的高度是从叶结点开始,自底向上逐层累加
结点的高度从该结点对应的最底层叶子结点算起,记最底层的高度为1

规定:
空树的高度记为 0
单结点的(子)树(即只有根节点)的高度记为 1

任意一个结点 : Depth(V) + Height(V) <= Height(T)


2. 树的表示结构

  1. 父结点+孩子结点 的树结构
    父结点 + 孩子结点
  • 采用结构体数组表示 !
  1. 长子兄弟表示法 的树结构
    对一个树:其中任一个结点的第一个孩子结点(若存在)作为其"左孩子",第一个兄弟结点(若存在)作为其"右孩子",从根开始整理
    [注] 长子兄弟 的树结构表示法可以将"任意多叉树表示成二叉树"
长子-兄弟表示法

3. 如何利用二叉树来描述多叉树
在实际应用中,二叉树的使用情况是最多的,相关的算法也是很完善的,若能将一棵树(多叉树)表示成二叉树结构,就能很好的对一棵树进行操作(上面的长子兄弟表示法能够将任意多叉树表示成二叉树)

  • 二叉树是多叉树的特例,在有根并且有序的情况下,其描述能力足以覆盖后者。(即满足这两个)
  • 多叉树都可以表示为二叉树 (长子兄弟表示树结构来构造,见上图)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • B树的定义 一棵m阶的B树满足下列条件: 树中每个结点至多有m个孩子。 除根结点和叶子结点外,其它每个结点至少有m...
    文档随手记阅读 13,790评论 0赞 25
  • 四、树与二叉树 1. 二叉树的顺序存储结构 二叉树的顺序存储就是用数组存储二叉树。二叉树的每个结点在顺序存储中都有...
    MinoyJet阅读 1,827评论 0赞 7
  • 概念 树是什么 树(Tree)是n(n>=0)个结点的有限集。 n = 0的树是空树。 在任意一棵非空树中: 有且...
    刚刚悟道阅读 5,352评论 1赞 16
  • 1.树(Tree): 树是 n(n>=0) 个结点的有限集。当 n=0 时称为空树。在任意一颗非空树中:有且仅有一...
    ql2012jz阅读 1,236评论 0赞 3
  • 1.树的定义 树是n(n>=0)个结点的有限集.n=0时称为空树.在任意一颗非空树种:(1)有且仅有一个特定的称为...
    e40c669177be阅读 3,262评论 1赞 14

友情链接更多精彩内容