日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

满二叉树各种节点数目的计算

發(fā)布時(shí)間:2025/5/22 104 豆豆
生活随笔 收集整理的這篇文章主要介紹了 满二叉树各种节点数目的计算 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 二叉樹(shù)的基本性質(zhì)

  • 二叉樹(shù)的第i層至多有2i-1個(gè)結(jié)點(diǎn)(i>=1)

證明:(歸納法)

   歸納基:i=1時(shí),只有一個(gè)結(jié)點(diǎn),2i-1=20=1;

   歸納假設(shè):假設(shè)對(duì)所有的i命題成立;

   歸納證明:二叉樹(shù)中每個(gè)結(jié)點(diǎn)最多有兩個(gè)子樹(shù),則第i+1層的結(jié)點(diǎn)數(shù)為2*2i-2=2i-1.

  • 深度為h的二叉樹(shù)至多有2h-1個(gè)結(jié)點(diǎn)(h>=1)

    證明:n=20+21+...+2h-1=2h-1.(等比數(shù)列)

  • 對(duì)于一棵二叉樹(shù),若含有n0個(gè)葉子結(jié)點(diǎn),n2個(gè)度為2的結(jié)點(diǎn),則必存在關(guān)系式:n2=n0-1

    證明:設(shè)二叉樹(shù)的結(jié)點(diǎn)總數(shù)為n=n0+n1+n2;

       二叉樹(shù)上的分支總數(shù)為b=n1+2n2;

     ? ? ? ?又b=n-1;

     ? ? ? ?故:n2=n0-1.

  • 具有n個(gè)結(jié)點(diǎn)的完全二叉樹(shù)的深度為[log2n]+1.[]表示取整

    證明:設(shè)完全二叉樹(shù)的深度為k,則:2k-1<=n<2k

       即k-1<=log2n<k

       因?yàn)閗只能取整數(shù),所以k=[log2n]+1.

  • 若對(duì)含n個(gè)結(jié)點(diǎn)的完全二叉樹(shù)從上到下且從左至右進(jìn)行1至n的編號(hào),則對(duì)完全二叉樹(shù)中任意一個(gè)編號(hào)為i的結(jié)點(diǎn):

    若i=1,則該結(jié)點(diǎn)是二叉樹(shù)的根,無(wú)雙親,否則,編號(hào)為[i/2]的結(jié)點(diǎn)為其雙親結(jié)點(diǎn);

    若2i>n,則該結(jié)點(diǎn)無(wú)左孩子結(jié)點(diǎn),否則,編號(hào)為2i的結(jié)點(diǎn)為其左孩子結(jié)點(diǎn);

    若2i+1>n,則該結(jié)點(diǎn)無(wú)右孩子結(jié)點(diǎn),否則,編號(hào)為2i+1的結(jié)點(diǎn)為其右孩子結(jié)點(diǎn)。

    證明:設(shè)完全二叉樹(shù)中第i個(gè)結(jié)點(diǎn)的位置為第k層第j個(gè)結(jié)點(diǎn),即i=2k-1-1+j;

       則左孩子結(jié)點(diǎn)的索引為:l=2k-1+2(j-1)+1=2*(2k-1-1+j)=2*i;

       左孩子結(jié)點(diǎn)的索引為:r=2k-1+2(j-1)+2=2*(2k-1-1+j)+1=2*i+1;

?2. 二叉樹(shù)中各種結(jié)點(diǎn)數(shù)目的計(jì)算

  若一個(gè)完全二叉樹(shù)的結(jié)點(diǎn)數(shù)目為n,求n0,n1,n2,數(shù)的高度h,左孩子結(jié)點(diǎn)數(shù)目nl和右孩子結(jié)點(diǎn)數(shù)目nr?

  (n0為度為0的結(jié)點(diǎn),n1為度為1的結(jié)點(diǎn),n2為度為2的結(jié)點(diǎn))

  求解思路:

  樹(shù)的高度h=[log2n]+1;

  因?yàn)槭峭耆鏄?shù),所以1~h-1層全滿;

  前h-1層的結(jié)點(diǎn)數(shù)目為nh-1=2h-1-1;

  第h層的葉子結(jié)點(diǎn)數(shù)目為nc1=n-nh-1;

  第h-1層的葉子結(jié)點(diǎn)數(shù)目為nc2=2h-2-ceil(nc1/2);(ceil為向上取整)

  所以n0=nc1+nc2;

  n2=n0-1;

  n1=n-n0-n2;

  左孩子結(jié)點(diǎn)數(shù)目nl=n2+n1;

  右孩子結(jié)點(diǎn)數(shù)目nr=n2;

轉(zhuǎn)載于:https://www.cnblogs.com/jmliao/p/6706333.html

總結(jié)

以上是生活随笔為你收集整理的满二叉树各种节点数目的计算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。