2018-04-14

树与二叉树


树(tree)是n(n≥0)个结点的有限集,它或为空树(n=0);或为非空树,对于非空树T:

  • 有且仅有一个称之为根的结点;
  • 除根结点以外的其余结点可分为m(m>0)个互不相交的有限集T1,T2,T3,...,Tm,其中每一个结合本身又是一棵树,并且成为根的子树(SubTree)。
图上为有6个结点的树,其中A是根,其余结点分成2个互不相交的子集:T1={B,D,E},T2={C,F}。
T1和T2都是根A的子树,且本身也是一棵树。例如T1,其根为B,其余结点分为两个互不相交的子集。

树的基本术语

1.结点的度:一个结点含有的子树的个数称为该结点的度;
2.叶结点或终端结点:度为0的结点称为叶结点;
3.非终端结点或分支结点:度不为0的结点;
4.双亲结点或父结点:若一个结点含有子结点,则这个结点称为其子节点的父结点;
5.孩子结点或子结点:一个结点含有的子树的根结点称为该节点的子结点;
6.兄弟结点:具有相同父结点的结点互称为兄弟结点;
7.树的度:一棵树中,最大的结点的度称为树的度;
8.结点的层次:从根开始定义起,根为第1层,根的子结点为第2层,以此类推;
9.树的高度或深度:树中结点的最大层次;
10.堂兄弟结点:双亲在同一层的结点互为堂兄弟;
11.结点的祖先:从根到该结点所经分支上的所有结点;
12.子孙:以某结点为根的子树中任一结点都称为该结点的子孙。
13.森林:由m(m>=0)棵互不相交的树的集合称为森林;


二叉树

定义:
二叉树(Binary Tree)是n(n≥0)个结点所构成的集合,它或为空树(n=0);或为非空树,对于非空树T:

  • 有且仅有一个称之为根的结点;
  • 除根节点以外的其余结点分为两个互不相交的子集T1和T2,分别称为T的左子树和右子树,且T1和T2本身又都是二叉树。

二叉树与树一样具有递归性质,二叉树与树的区别主要有以下两点:

  • 二叉树每个结点至多只有两颗子树(即二叉树中不存在度大于2的结点);
  • 二叉树的子树有左右之分,其次序不能任意颠倒。

二叉树的地柜定义表明二叉树或为空,或是由一个根结点加上两颗分别称为左子树和右子树的、互不相交的二叉树组成。由于这两颗子树也是二叉树,则由二叉树的定义,它们也可以是空树。so,二叉树可以有五种基本形态。(本人手绘,不喜勿喷。)

二叉树.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 绪论 什么是数据结构? 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 第二章...
    SeanCheney阅读 5,844评论 0 19
  • 概念 树是什么 树(Tree)是n(n>=0)个结点的有限集。 n = 0的树是空树。 在任意一棵非空树中: 有且...
    刚刚悟道阅读 5,167评论 1 16
  • B树的定义 一棵m阶的B树满足下列条件: 树中每个结点至多有m个孩子。 除根结点和叶子结点外,其它每个结点至少有m...
    文档随手记阅读 13,413评论 0 25
  • 1.树(Tree): 树是 n(n>=0) 个结点的有限集。当 n=0 时称为空树。在任意一颗非空树中:有且仅有一...
    ql2012jz阅读 1,068评论 0 3
  • 1.树的定义 树是n(n>=0)个结点的有限集.n=0时称为空树.在任意一颗非空树种:(1)有且仅有一个特定的称为...
    e40c669177be阅读 2,924评论 1 14