二叉树定义
二叉树是n个节点的有限集合,该集合或者为空集,或者由一个根结点和两课互不相交的,分别称为根结点的左树和右数的二叉树组成。
特点
1.每个结点最多两颗子树,所以二叉树中不存在度大于2的结点。
2.左子树和右子树是由顺序的,次序不能颠倒
3.即使树中某个结点只有一颗子树,也要区分它是左子树还是右子树。
二叉树具有五种形态:
空二叉树
只有一个根结点
根结点只有左子树
根结点只有右子树
根结点既有左子树也有右子树
特殊的二叉树
1.斜树
所有的节点只有左子树或者只有右子树
2.满二叉树
所有的分支结点都存在左子树和右子树。还有就是叶子要在一层上
3.完全二叉树
若设二叉树的深度为k,除第 k 层外,其它各层 (1~k-1) 的结点数都达到最大个数,第k 层所有的结点都连续集中在最左边,这就是完全二叉树。
二叉树的性质
性质 |
---|
在二叉树的第i层上至多有2i-1个结点 |
深度为k的二叉树至多有2k-1个结点 |
对于任何一个二叉树T,终端结点数为n0,度为2的节点数为n2,则n0=n2+1 |
具有n个结点的完全二叉树的深度为[log2n]+1 【x】为不大于x的最大整数 |
如果将一棵有n