一:基 本 术 语
结点:数据元素+若干指向子树的分支结点的度:分支的个数树的度:树中所有结点的度的最大值叶子结点:度为零的结点分支结点:度大于零的结点 结点的层次:假设根结点的层次为1,第l层的结点的子树根结点的层次为l+1树的深度:树中叶子结点所在的最大层次二:二叉树的特征特征:每个结点最多只有两棵子树子树有左右之分,其次序不能任意颠倒,只有一棵子树时也必须分清左右子树子树都是二叉树 二叉树不是树! 二叉树的五种基本形态: 三:二叉树的性质1.一个非空二叉树的第i层上至多有2i-1个结点(i³1)证明:i = 1,只有根结点,显然成立 设i = k时成立,最多有2k-1 当i= k+1时,最多的结点个数:2k-1 * 2 = 2k-1+1 = 2k = 2( k+1)-1 l性质 2:
深度为k的二叉树上至多含2k-1个结点(k≥1)。 证明: [证明用求等比数列前k项和的公式] 基于上一条性质,深度为k的二叉树上的结点数至多为 20+21+×××××× +2k-1 = 2k-1。l性质 3:
对任何一棵二叉树,若它含有n0个叶子结点、n2个度为 2的结点,则必存在关系式:n0 = n2+1。证明:设二叉树上度为1的结点数为n1设二叉树上结点总数n = n0 + n1 + n2又二叉树上分支总数b = n1+2n2 而b = n-1 = n0 + n1 + n2- 1 由此,n0 = n2 + 1。 满二叉树满二叉树:深度为k且有2k-1个结点的二叉树考虑到有序性,任一结点在树中都有确切的位置,因此可以对满二叉树进行编号。编号方式为:从上到下,从左到右。完全二叉树完全二叉树: 深度为k,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树编号从1到n的结点一一对应时,称为完全二叉树。 完全二叉树特征:叶子结点只可能在层次最大的两层上出现任一结点,若其右分支下的子树的最大层次为L ,则其左分支下的最大层次为l或L+1,即若结点无左孩子,决不应有右孩子。l性质 4:具有n个结点的完全二叉树的深度为【 log2n】+1。 下取整证明:设完全二叉树的深度为k则根据第二条性质得 2k-1≤ n < 2k 即 k-1≤ log2 n< k因为k只能是整数,因此,k =ëlog2nû + 1 。 l性质 5: 若对含n 个结点的完全二叉树从上到下且从左至右进行1至n的编号,则对完全二叉树中任意一个编号为i的结点:
(1)若i=1,则该结点是二叉树的根,无双亲,否则,编号为ëi/2û的结点为其双亲结点;
(2) 若2i>n,则该结点无左孩子,
否则,编号为2i的结点为其左孩子结点;
(3) 若2i+1>n,则该结点无右孩子结点,
否则,编号为2i+1的结点为其右孩子结点。