二叉树的性质

二叉树:树中每个节点至多有两个子节点

二叉搜索树:对于树中任何节点,如果其左子节点不为空,那么该节点的value值永远 >= 其左子节点;如果其右子节点不为空,那么该节点的value值永远 <= 其右子节点(左子节点<value<右子节点

满二叉树:树中除了叶子节点,每个节点都有两个子节点

完全二叉树:在满足满二叉树的性质后,最后一层的叶子节点均需在最左边

完美二叉树:满足完全二叉树性质,树的叶子节点均在最后一层(也就是形成了一个完美的三角形)

满二叉树、完全二叉树、完美二叉树的定义是越来越严格的

性质一:在二叉树的i层上至多有2 i-1个节点(i>=1)至少有1个

性质二:深度为k的二叉树至多有2k-1个节点,至少为k个

性质三:对任何一棵二叉树T,如果终端结点树为n,度为2的结点为n2,度为0的结点为n0 则n0=n2+n1

性质四:具有n个节点的完全二叉树的深度为[log2n]+1向下取整

性质五:如果有一颗有n个节点的完全二叉树的节点按层次序编号,对任一层的节点i(1<=i<=n)有

    1.如果i=1,则节点是二叉树的根,无双亲,如果i>1,则其双亲节点为[i/2],向下取整

    2.如果2i>n那么节点i没有左孩子,否则其左孩子为2i

    3.如果2i+1>n那么节点没有右孩子,否则右孩子为2i+1

    大家可以通过画图验证以上性质

点赞