一、种类
目前按照我学到的有
1.完全二叉树:左右树的高度相同且必须按编号顺序的满二叉树。
2.满二叉树:按照编号顺序排列的树。
3.平衡二叉树:左右树的高度差<=1
二、相关知识
对于树的高度求法有2的k次方-1,k为树总的元素数
当用数组存储二叉树,遍历时有:如果父节点的数组下标是 i,那么它的左孩子就是 i * 2 + 1,右孩子就是 i * 2 + 2。
而且遍历分为深度优先遍历和广度优先遍历:
- 深度优先遍历:由根先往深处走,当遇到叶子(最后一个左右孩子)时,重新选择一条路再走(一条树枝走到尾再走另一条树枝)
- 广度优先遍历:即先从树的的孩子开始遍历,宽度遍历(一层一层向下遍历)。
深度优先遍历包含:
前序遍历(递归法,迭代法)
中序遍历(递归法,迭代法)
后序遍历(递归法,迭代法)
广度优先遍历包含:
层次遍历(迭代法)