转载 2012年03月25日 18:57:59

树的定义

 树(tree)是包含n(n>0)个结点的有穷集合,其中:
  (1)每个元素称为结点(node);
  (2)有一个特定的结点被称为根结点或树根(root)。
  (3)除根结点之外的其余数据元素被分为m(m≥0)个互不相交的结合T1,T2,……Tm-1,其中每一个集合Ti(1<=i<=m)本身也是一棵树,被称作原树的子树(subtree)。
  树也可以这样定义:树是有根结点和若干颗子树构成的。树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构。在这种层次结构中有一个结点具有特殊的地位,这个结点称为该树的根结点,或称为树根。
  我们可以形式地给出树的递归定义如下:
  单个结点是一棵树,树根就是该结点本身。
  设T1,T2,..,Tk是树,它们的根结点分别为n1,n2,..,nk。用一个新结点n作为n1,n2,..,nk的父亲,则得到一棵新树,结点n就是新树的根。我们称n1,n2,..,nk为一组兄弟结点,它们都是结点n的子结点。我们还称n1,n2,..,nk为结点n的子树。

  空集合也是树,称为空树。空树中没有结点。


树的术语

  节点的度:一个节点含有的子树的个数称为该节点的度;
  叶节点或终端节点:度为零的节点称为叶节点;
  非终端节点或分支节点:度不为零的节点;
  双亲节点或父节点:若一个结点含有子节点,则这个节点称为其子节点的父节点;
  孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;
  兄弟节点:具有相同父节点的节点互称为兄弟节点;
  树的度:一棵树中,最大的节点的度称为树的度;
  节点的层次:从根开始定义起,根为第1层,根的子结点为第2层,以此类推;
  树的高度或深度:树中节点的最大层次;
  堂兄弟节点:双亲在同一层的节点互为堂兄弟;
  节点的祖先:从根到该节点所经分支上的所有节点;
  子孙:以某节点为根的子树中任一节点都称为该节点的子孙。

  森林:由m(m>=0)棵互不相交的树的集合称为森林;


树的种类

  无序树:树中任意节点的子结点之间没有顺序关系,这种树称为无序树,也称为自由树;
  有序树:树中任意节点的子结点之间有顺序关系,这种树称为有序树;
  二叉树:每个节点最多含有两个子树的树称为二叉树;
  完全二叉树
  满二叉树
  霍夫曼树:带权路径最短的二叉树称为哈夫曼树或最优二叉树;

  B树


树的深度

  定义一棵树的根结点层次为1,其他节点的层次是其父结点层次加1。一棵树中所有结点的层次的最大值称为这棵树的深度。

相关文章推荐

数据结构-非递归遍历二叉树

  • 2017年11月16日 10:28
  • 216KB
  • 下载

AVL 平衡二叉树旋转方法

1、预备知识定义树(tree)的一种自然的方式是递归的方式。一棵树使一些节点的集合。这个集合可以是空集;若不是空集,则树由称作根(root)的节点 r 以及 0 个或多个非空的(子)树 T1,T2,T...

信号检测与估计理论 赵树杰

  • 2017年11月07日 17:58
  • 18.88MB
  • 下载

决策树之剪枝原理与CART算法

决策树学习笔记(二) 继续关于决策树的内容,本篇文章主要学习了决策树的剪枝理论和基于二叉树的CART算法。主要内容: 1.理解决策树损失函数的定义以及物理含义 2.基尼指数的主要两个作用 3.理解CA...

决策树分类算法与应用.docx

  • 2017年11月14日 21:22
  • 163KB
  • 下载

数据结构(14)--线索二叉树的实现

参考书籍:数据结构(C语言版)严蔚敏吴伟民编著清华大学出版社 1.什么是线索二叉树...

AVL树(C++)

  • 2017年11月05日 09:26
  • 17KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:
举报原因:
原因补充:

(最多只允许输入30个字)