二叉树
二叉树是结点的有限集合,可以为空集,区分左右子树。
(1)性质:
二叉树的第i(i>1)层上至多有2i-1 个结点。
高度为h的二叉树上至多有2^h–1个结点。
叶结点的个数总是比度为2的结点的个数多一个。
(2)几个概念:
满二叉树:高度为h的二叉树恰好有2^h–1个结点时称为满二叉树。
完全二叉树:一棵二叉树中,只有最下面两层结点的度可以小于2,并且最下一层的叶结点集中在靠左的若干位置上,这样的二叉树称为完全二叉树。(性质见书P71)
扩充二叉树:除叶子结点外,其余结点都必须有两个孩子。
(3)相关运算:
Root(x): 若二叉树非空,则x有根的值,并返回true,否则返回false。
MakeTree(x, left, right): 构造一棵二叉树:根的值为x,以left和right为左右子树。
BreakTree(x, left, right):拆分二叉树为三部分:x为根的值,left和right分别为原二叉树的左、右子树。
(4)二叉树的遍历
前序遍历、中序遍历、后序遍历、层次遍历(规则见书P75)
递归算法见P77
(5)二叉树的存储表示
顺序表示:完全二叉树中的结点可以按层次顺序,存储在一片连续的存储单元中。
链接表示:lChild和rChild为分别指向左、右孩子的指针,element是元素域。共有n-1个指针域非空,n+1个空指针域。
以上是小编为大家整理分享的“2022考研计算机数据结构:二叉树”相关内容,希望对大家有帮助。祝大家考上理想的院校!