二叉树介绍
复习过了证明我会了
一 、概念
二叉树(Binary Tree)是n(n>=0)个结点所构成的集合,它或为空树(n=0);或为非空树,对于非空树T:
1)有且仅有一个称之为根的节点;
2)除根节点以外的其余结点分为两个互不相交的子集T1和T2,分别称为T的左子树和右子树,且T1和T2本身又都是二叉树。
二叉树和树一样有递归性质,但是区别如下:
1)二叉树每个结点至多有两棵子树(即二叉树中不存在度>2的结点);
2)二叉树的子树有左右之分,其次序不能任意颠倒。
关于满二叉树和完全二叉树:
满二叉树:深度为k且含有2^k-1个结点的二叉树(简单来说这种二叉树非终端结点都有左儿子和右儿子,每一层结点数都是最大值)。
完全二叉树:深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1到n的结点一一对应时,称之为完全二叉树。
(我这样理解,给深度为n的二叉树从1开始编号。度为1的结点为1or0满二叉树肯定是完全二叉树,而完全二叉树不一定是满二叉树。)
二、关于性质
1)在二叉树的第i层上至多有2^(i-1)个结点。
证明略。
2)深度为深度为k的