一.二叉树的基本概念:
树是一种递归定义的数据结构,因此二叉树是递归定义的数据结构。
二.二叉树的五种状态:
三.几个特殊的二叉树:
1.满二叉树:结点总数就是通过等比数列公式求出来的,首项为1即根节点,公比为2,高度为h即h项和
注:a.满二叉树叶子节点的度为0,不存在度为1的结点;
b.满二叉树的叶子节点都在最后一层中;
c.上述图片的特点中的第三条最后一个是向下取整的符号,如[3/2]的值为1;
d.满二叉树的每一层的结点都满了,不会再有额外的结点;
e.完全二叉树:在满二叉树的基础上去掉一些或一个编号较大的结点,会导致其他结点的编号发生改变,如果改变后
剩下的结点编号和未去掉结点的满二叉树的结点编号依旧一一对应,则为完全二叉树,反之不是;
f.满二叉树是特殊的完全二叉树,完全二叉树未必是满二叉树;
g.完全二叉树最多只有一个度为1的结点,比如上述图片中的完全二叉树中的叶子结点6已经是一个度为1的结点,如
果叶子结点7再多一个左子结点,该左子结点的编号为13,与左边的满二叉树的编号不一一对应了,此时就不是完
全二叉树了
h.上述图片中完全二叉树的第四个特点中i代表结点的编号,且[n/2]是向下取整;
i.对于完全二叉树的某个结点来说:如果该结点有子结点且只有这一个子结点,那么一定是左子结点:
2.二叉排序树(常用于元素的排序和搜索):小的存左边,大的存右边
插入元素时也是小的存左边,大的存右边:如上述图片的二叉树插入68,68比19大,到右边,此时已经有50了,68和50比,68比50大,68到右边,此时68与66比,易知68到右边,最后68与70比,易知68到左边。