一、基本概念
二叉树(Binary Tree):每个节点不能有多于两个的儿子(<=2)。
二叉树平均深度为O(N^1/2),当然深度最大值为N-1。
具有N个节点的二叉树需要N+1个NULL指针(如果表示二叉树的结构为一个节点包括本身数据和指向它两个儿子的指针),可以这样去想:如果只有一个节点,那就有两个空指针,每增加一个节点都会占用一个空指针的位置,同时引入两个空指针,其实每增加一个节点就增加了一个空指针。
二、先序、中序、后序遍历
遍历顺序的命名以根节点为准,左子树比右子树先打印,例如首先打印子树的根节点为先序遍历,最后才打印子树根节点为后序遍历。
先序遍历:根——>左子树——>右子树
中序遍历:左子树——>根——>右子树
后序遍历:左子树——>右子树——>根
以上图所示的二叉树为例,先序遍历的结果为:ABDEGCF
中序遍历的结果为:DBGEACF