树 二叉树(Binary Tree) 定义: 二叉树中每个结点的孩子数只能是0、1或2个,并且每个孩子都有左右之分。位于左边的孩子称为左孩子,位于右边的孩子称为右孩子;以左孩子为根的子树称为左子树,以右孩子为根的子树称为右子树 性质: 性质1:在二叉树的第i层上至多有2^i-1个结点(i>=1) 性质2:深度为k的二叉树至多有2^k-1个结点,(k>=1). 性质3:对任何一棵二叉树T,如果其叶结点数为n0,度为2的结点数为n2,则 n0 = n2 + 1 二叉树类型 完全二叉树(CompleteBinaryTree) 定义: 设二叉树的高度为h 除了第h层外 其他各层(1~h-1)的结点数都达到了最大个数 第h层有叶子节点 并且叶子结点都是从左到右依次排布 性质: 非根节点(序号i>1)的父结点的序号是[i/2] 结点(序号为i)的左孩子结点是2i (若2i<=n,否则没有左孩子) 结点(序号为i)的右孩子结点是2i+1 (若2i+1<=n,否则没有右孩子)