> 文章列表 > 初识二叉树

初识二叉树

初识二叉树

树的概念与结构

树是一种非线性的数据结构,它是由n个有限结点组成一个具有层次关系的集合,把它叫做树是因为它看起来像一颗倒挂的树,也就是说它的根朝上,而叶朝下的。

子树之间不能有交集,否则就不是树型结构

 

比如下面这几个就不是树型结构

树的相关概念

 

 节点的度:一个节点含有的子树的个数称为该节点的度;上图中A的度为6,因为它有六个子树。

叶节点或端节点:度为0的节点称为叶节点(没有子树的节点);上图的叶节点有B,C,H,I,P,Q,K,L,M,N.

非终端节点或分支节点:度不为0的节点。

双亲节点或父节点:若一个节点含有子节点,则称这个节点为其子节点的父节点;上图的A就是B的父节点。

兄弟节点:具有相同父节点的节点称为兄弟节点,上图中B,C相互称为兄弟节点。

树的度:一棵树中,最大的节点的度称为树的度,上图最大节点的度为A的节点度,所以树的度为6.

节点的层次:从根开始定义起,根为第一层,根的节点为第二层,以此类推。

树的高度或深度:树中节点的最大层次,上图的节点的最大层为第四层,所以树的高度为4.

堂兄弟节点:双亲在同一层的节点互为堂兄弟;上图的H ,I称为堂兄弟节点。

节点的祖先:从根到该节点所经分支上的所有节点;比如H点,它的祖先节点是D和A。

子孙:以某节点为根的子树中任一节点都称为该节点的子孙。上图A是所有节点的祖先,所有节点都是A的子孙。

森琳:由m颗互不相交树的集合称为森林。

树的表示

树结构相对线性表就比较复杂了,要存储表示起来就比较麻烦了,既能保存值域,也要保存结点与结点之间的关系;有很多方法,比如双亲表示法,孩子表示法等我们来简单了解一下孩子兄弟表示法。

 

 

二叉树概念及结构

一颗二叉树是结点的有限集合,这个集合:

1.或者为空

2.由一个根节点加上两颗称为左子树和右子树的二叉树组成。

由图可知:

1.二叉树不存在度大于2的节点 

2.二叉树的子树有左右之分,次序不能颠倒,因此二叉树是有序树。

特殊的二叉树

满二叉树

一个二叉树,如果每一层的结点数都达到最大值,则这个二叉树就是满二叉树。如果二叉树的深度为n,结点总数则为2^n-1个

完全二叉树

 

完全二叉树的特点:假如深度为n,n-1层前都是满节点 ,最后一层要求从左到右是连续的

结点数取值范围[wm

二叉树的性质:对于任何一颗二叉树,如果度为0其叶结点个数为n,度为2的分支结点个数为n-1

二叉树习题

 根据二叉树的性质,我们知道二叉树子叶结点个数为199+1=200

 

 

 我们知道完全二叉树的取值范围[ 2^(n-1),2^n-1],代入验证,只有B选项符合题意