数据结构之二叉树的定义

定义及其逻辑表示

定义

一个二叉树是一个又穷的结点集合。这个集合可以为空,若不为空,则它是由根节点和成为其左子树和右子树的两个不相交的二叉树组成。

逻辑表示

下面是二叉树常见的五种基本形态:
在这里插入图片描述

性质

二叉数的深度小于等于结点数N,可以证明平均深度是O(√n)。如图所示,写斜二叉树也称为退化二叉树,斜二叉树结构最差,深度达到最大N,它已退化为线性表。在一棵二叉树中,如果所有分支结点都存在左子树和有子树,并且所有叶结点都在同一层上,这样的一棵二叉树称为完美二叉树,也称为满二叉树。
在这里插入图片描述
在这里插入图片描述
1.一个二叉树第 i 层的最大结点数为pow(2,i-1)(i>=1) (这里用c语言的幂函数来表示)
2.深度为 k 的二叉树由最大结点总数pow(2,k)- 1 ,(k>=1)
3.对于任何的非空二叉树T,若n0表示叶结点的个数,n2是度为2的非叶结点个数,那么两者满足关系 n0 = n2 + 1
4.n1是二叉树中度为1的结点个数,n是总的结点个数,可得公式:n = n0 + n1 + n2
结点数n与边数B满足关系:B = n - 1,而B = n1 + 2 * n2,所以可得:n0 = n2 + n1
5.根据完全二叉树的性质1可知:具有n个结点的完全二叉树的深度k为(log2 n)+1 取整数

猜你喜欢

转载自blog.csdn.net/qq_44256227/article/details/89643282