日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

  • 二叉樹的第i層至多有2i-1個結(jié)點(i>=1)

證明:(歸納法)

   歸納基:i=1時,只有一個結(jié)點,2i-1=20=1;

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

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

  • 深度為h的二叉樹至多有2h-1個結(jié)點(h>=1)

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

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

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

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

     ? ? ? ?又b=n-1;

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

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

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

       即k-1<=log2n<k

       因為k只能取整數(shù),所以k=[log2n]+1.

  • 若對含n個結(jié)點的完全二叉樹從上到下且從左至右進行1至n的編號,則對完全二叉樹中任意一個編號為i的結(jié)點:

    若i=1,則該結(jié)點是二叉樹的根,無雙親,否則,編號為[i/2]的結(jié)點為其雙親結(jié)點;

    若2i>n,則該結(jié)點無左孩子結(jié)點,否則,編號為2i的結(jié)點為其左孩子結(jié)點;

    若2i+1>n,則該結(jié)點無右孩子結(jié)點,否則,編號為2i+1的結(jié)點為其右孩子結(jié)點。

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

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

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

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

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

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

  求解思路:

  樹的高度h=[log2n]+1;

  因為是完全二叉樹,所以1~h-1層全滿;

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

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

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

  所以n0=nc1+nc2;

  n2=n0-1;

  n1=n-n0-n2;

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

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

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

總結(jié)

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

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