学习学习二叉树的性质
hymcr05
性质1
n 二叉树的第 i 层上最多有 2i−1 个节点。(i≥1)
提问:第 i 层上至少有 1 个节点。
性质2
深度为 h 的二叉树最多有 2h−1 个节点。(h≥1)
提问:一颗深度为 k 且有 2k−1 个节点的二叉树称为满二叉树。
提问:深度为 k 时至少有 k 个节点(形成一条链)。
性质3
对于任何一颗二叉树,如果其叶子节点数为 n0,度为 2 的节点数为 n2,则一定满足:n0=n2+1。
证明:
边数=点数−1
边数=度为二的节点(对应两条边缩写为n1)∗2+度为一的节点个数(对应一条边缩写为n2)∗1
n=n2∗2+n1∗1+1=n0+n1n+n2(n 表示点一共的数量)
进行移项)
得出:n=n2+1=n0
一颗完全二叉树有 5000 个节点,可以计算出其叶子节点的数量是 2500。
RT,n1=1(5000是奇数,于是有一个度为 1 的节点。
n0+n1+n2=n0+1+n2=n0+1+n0−1=2n0=50002n0=2500
性质4
具有 n 个节点的完全二叉树的深度为 $\lfloor \log_2 n \rfloor +1 $ 。
证明:
2k−1−1≤n≤2k−1(比上一层多,当前这层少)2k−1≤n<2kk−1≤log2n<k所以:⌊log2n⌋+1
性质5
对于一颗有 n 个节点的完全二叉树,对任意一个节点 i ,如果 i=1,则该节点为根,没有父节点,如果 i>1,其父节点编号为 ⌊i/2⌋。
如果 2i>n,则该节点没有子节点,即节点 i 为叶子节点;否则左孩子编号为 2i。
如果 2i+1>n,则该节点没有右孩子;否则右孩子编号为 2i+1。