数据结构实现二叉树各种基本运算的算法

2023-08-24 09:41 综合百科 0阅读 投稿:小七

1 二叉树的性质

(1)非空二叉树叶子节点树等于双分支节点树加1。

证明:设二叉树上叶子节点树为n0,单分支节点树为n1,双分支节点树为n2(如果没有特别指出,后面均采用这种设定),则有:

a 总节点数 n=n0+n1+n2;

b 总分支数=n1+2*n2;

c 总分支数=总节点数-1。

根据以上三式有:n1 + 2*n2 = n0 + n1 + n2 - 1

即 n0 = n2 + 1。

(2)非空二叉树上第i层上至多有2∧(i - 1)个节点(i≥1)。

(3)高度为h的二叉树至多有2∧h - 1个节点(h≥1)。

(4)对完全二叉树中编号为i的节点(1≤i≤n,n≥1,n为节点数)有:

① 若2i≤n,则编号为i的节点为分支节点,否则为叶子节点。

② 若n为奇数,则每个分支节点都既有左孩子节点,又有右孩子节点;若n为偶数,则编号最大的分支节点(编号为n/2)只有左孩子节点,其余分支节点都有左、右孩子节点。

③ 若编号为i的节点有左孩子节点,则左孩子节点的编号为2i;若编号为i的节点有右孩子节点,则右孩子节点的编号为2i + 1。

④ 除根节点外,当i为偶数时,其双亲节点的编号为i/2,它是双亲节点的左孩子节点;当i为奇数时,其双亲节点的编号为(i-1)/2,它是双亲节点的右孩子节点。

(5)具有n个(n>0)节点的完全二叉树的高度为 log 2 (n+1) 或 log 2 n + 1。(取对数的最大整数)

声明:若水百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系youzivr@vip.qq.com