5.2二叉树

来源:互联网 发布:嵌入式linux开机进度 编辑:程序博客网 时间:2024/06/07 19:41
二叉树是由n(n大于等于0)结点组成的有限集合,此集合或者为空,或者由一个根结点加上两棵分别称为左右子树的,互不相交的二叉树组成。

二叉树与一般树的区别
二叉树可以为空树,即不包含任何结点;一般树至少应有一个结点。
二叉树区别于度数为2的有序树,在二叉树中允许某些结点只有右子树而没有左子树;而有序树中,一个结点如果没有第一子树就不可能有第二子树的存在。
二叉树并非树的特殊情形,二叉树和树是两种不同的数据结构。

二叉树的性质
性质一:二叉树低i(i大于等于1)层上的结点树最多为2的i-1次方
性质二:高度为k的二叉树最多有2的k次方减1个结点
性质三:对于任何二叉树T,设n0,n1,n2分别表示度数为0、1、2的结点个数,则n0=n2+1

二叉树所有结点的度均不大于2,只可能是0、1或者2这三种可能。


满二叉树和完全二叉树是二叉树的两种特殊情形。


一个深度为k且有2的k次方减1个结点的二叉树称为满二叉树
满二叉树的特点:每一层上的结点树都达到最大值,即对给定的深度,它是具有最多结点树的二叉树。
满二叉树不存在度数为1的结点,每个分子结点均有两棵高度相同的子树,且树叶都在最下一层上


若一颗二叉树至多只有最下面的两层结点的度数可以小于2,并且最下一层上的结点都集中在该层最左边的若干位置上,则此二叉树称为完全二叉树


满二叉树是完全二叉树,但完全二叉树不一定是满二叉树。