树与二叉树——定义

Posted T丶jl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树与二叉树——定义相关的知识,希望对你有一定的参考价值。

树形结构是一类重要的非线性结构数据结构。其中以树和二叉树最为常用,直观看来,树是以分支关系定义的层次结构。

树的定义与基本术语

  树的结构定义是一个递归定义,即在树的定义中又用到树的概念。除了树形表示外,树形结构还有广义表表示、文氏图表示(反映集合包含关系)和凹人表示(类似一本书的目录)等其他表示形式。

下面给出树的一些基本术语,主要来源于家谱和树:

①结点(node)

它包含数据项即指向其他结点的分支。为方便起见,每个数据项用单个字母表示。

②节点的度(degree)

它是结点所拥有的子树棵数。

③叶子结点(leaf)

即度为0的结点,称为叶子或中断结点。

④分支结点(branch)

度不为0的结点称为非终端结点或分支结点。

⑤子女节点(child)

若节点x有子树,则子树的根节点即结点x的子女。

⑥双亲节点(parent)

若节点x有子女,它即子女的双亲。

⑦兄弟结点(sibling)

同一双亲的子女互称为兄弟。

⑧祖先结点(ancestor)

从根节点到该结点所经分支上的所有结点。

⑨子孙结点(descendant)

某一结点的子女,以及这些子女都是该节点的子孙。

⑩结点所处层次(level)

简称结点的层次,即从根到该结点所经路径上的分支条数。

?树的高度(depth)

树中结点所处的最大层次。空树的高度为0,只有一个根结点的树的高度为1。

?树的度(degree)

树中结点所处的最大层次。

?有序树

树中结点的各棵子树T0,T1,......是有次序的,即有序树。

?无序树

树中结点的各棵子树之间的次序是不重要的,可以互相交换位置。

?森林(forest)

m(m>=0)棵树的集合在自然界中,树与森林是两个不同的概念,但在数据结构中,它们之间的差别很小。删去一棵非空树的根结点,树就变成森林;反之,若增加一个根结点,让森林中每一棵树的根结点都变成它的子女,森林就成为一棵树。

二叉树的定义

  二叉树(binary tree)的定义也是以递归的形式给出的:一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根结点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。

二叉树的特点是每个结点最多有两个子女。也就是说,在二叉树中不存在度大于2的结点,并且二叉树的子树有左右之分,其子树的次序不能颠倒,因此,它可能有5种不同的形态。

描述树的所有术语对于二叉树都适用。

v、

  

以上是关于树与二叉树——定义的主要内容,如果未能解决你的问题,请参考以下文章

树与二叉树

二叉树与二叉搜索树

C语言的世界-树与二叉树

树与二叉树

王道数据结构5(树与二叉树)

王道数据结构5(树与二叉树)