非线性:1对多关系,有层次
树:除根以外的其余结点都有1个入度
二叉树,结构稳定的树,可以为空树,
由一个结点和左(或和)右两棵不相交的子树组成,
结点度最大为2
非线性结构变成线性结构的手段是:遍历
访问所有结点,且只访问一次。
可以按层次遍历
根 左子树 右子树
D L R
三种遍历策略:
D L R (先序)
L D R (中序)
L R D (后序)
应用:算式表达式转换后缀表达式
已知(先序或后序)+中序即可构造唯一二叉树
基本推论:
第i层最多结点:2的i-1次方
k层树最多总结点数:2的k次方-1
n0 + n1 + n2 = n
n-1(边) = n1 + 2n2
由两条公理可推出:n0 = n2 + 1 //叶子结点
k层和n的关系:∵ n <= 2的k次方-1 ∴ log2(n+1) <= k
四种遍历二叉树的策略:层序、先序、中序和后序
按层序的下标:父节点 i,左孩子 2i,右孩子 2i+1