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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

二叉树相关性质以及数学证明

發布時間:2025/6/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二叉树相关性质以及数学证明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

性質一:

在二叉樹中,設度為0的結點數為n0,度為2的結點數為n2,有n0=n2+1在二叉樹中,設度為0的結點數為n_0,度為2的結點數為n_2,有n_0=n_2+10n0?2n2?n0?=n2?+1

證明:證明:
一個有N個結點的二叉樹中,除了根結點之外,每一個結點都有一個指向它的分支,設分支的總數為M有M=N?1=n0+n1+n2?1又因為M=n1+2n2所以n0=n2+1一個有N個結點的二叉樹中,除了根結點之外,每一個結點都有一個指向它的分支,設分支的總數為M \\ 有M=N-1=n_0+n_1+n_2-1\\ 又因為M=n_1 + 2n_2\\ 所以n_0 = n_2 + 1NMM=N?1=n0?+n1?+n2??1M=n1?+2n2?n0?=n2?+1

性質二:

一棵二叉樹第h層最多有2h?1個結點,高度為h的二叉樹最多有2h?1個結點一棵二叉樹第h層最多有2^{h-1}個結點,高度為h的二叉樹最多有2^h-1個結點h2h?1h2h?1

證明:證明:
第一層有1個結點(根節點),第二層最多有2個,第三層最多有4個…第h層最多有2h?1個結點,等比數列求和,高度為h的二叉樹最多有2h?1個結點第一層有1個結點(根節點),第二層最多有2個,第三層最多有4個 \dots \\ 第h層最多有2^{h-1}個結點,等比數列求和,高度為h的二叉樹最多有2^h-1個結點124h2h?1h2h?1

性質三:

在一棵有n個結點的二叉樹中,樹的高度為h,h=?log?2(n+1)?或h=?log2n?+1在一棵有n個結點的二叉樹中,樹的高度為h,h = \lceil \log_2(n+1) \rceil 或 h=\lfloor log_2n\rfloor +1nhh=?log2?(n+1)?h=?log2?n?+1

證明:證明:
因為樹高為h,有2h?1?1<n≤2h?1所以h?1<log2(n+1)≤h所以h=?log?2(n+1)?因為樹高為h,有2^{h-1} -1 \lt n \le 2^{h}-1\\ 所以 h-1 \lt log_2(n+1)\le h \\ 所以h=\lceil \log_2(n+1) \rceilh2h?1?1<n2h?1h?1<log2?(n+1)hh=?log2?(n+1)?

同理2h?1≤n<2h所以h?1≤log2(n)<h所以h=?log2n?+1同理2^{h-1} \le n \lt 2^{h} \\ 所以 h-1 \le log_2(n)\lt h \\ 所以h=\lfloor log_2n\rfloor +12h?1n<2hh?1log2?(n)<hh=?log2?n?+1

性質四:

在一棵完全二叉樹中,最后一個非終端結點的編號為?n/2?在一棵完全二叉樹中,最后一個非終端結點的編號為\lfloor n/2 \rfloor?n/2?

證明:證明:
首先要明確一個完全二叉樹的最后一個非終端結點一定位于該樹的倒數第二層設這最后一個終端結點是該層第k個元素,編號為x,樹的高度為h首先要明確一個完全二叉樹的最后一個非終端結點一定位于該樹的倒數第二層\\ 設這最后一個終端結點是該層第k個元素,編號為x,樹的高度為hkxh
有x=k+2h?2?1有x= k+2^{h-2}-1x=k+2h?2?1
最后一層的元素個數n?2h?1+1倒數第二層最后一個非終端之前的結點都有倆個子結點最后一個非終端結點可能有一個子結點,可能有倆個子結點所以?[n?2h?1+1]/2?=k最后一層的元素個數 n-2^{h-1}+1\\ 倒數第二層最后一個非終端之前的結點都有倆個子結點\\ 最后一個非終端結點可能有一個子結點,可能有倆個子結點\\ 所以\lceil [n-2^{h-1}+1]/ 2\rceil = kn?2h?1+1?[n?2h?1+1]/2?=k
x?2h?2+1=?[n?2h?1+1]/2?x-2^{h-2}+1=\lceil [n-2^{h-1}+1]/ 2\rceilx?2h?2+1=?[n?2h?1+1]/2?
x=?n/2?x=\lfloor n/2 \rfloorx=?n/2?

同時也解釋了為什么在二叉樹的順序存儲中(下標從1開始),結點i的子結點下標為2?i,2?i+1同時也解釋了為什么在二叉樹的順序存儲中(下標從1開始),結點i的子結點下標為2*i,2*i+11i2?i2?i+1

性質五:

有n個結點的哈夫曼樹(最優二叉樹)有(n+1)/2個葉節點,如果用二叉鏈表進行存儲則會有n+1個空指針有n個結點的哈夫曼樹(最優二叉樹)\\ 有 (n+1)/2個葉節點,如果用二叉鏈表進行存儲則會有n+1個空指針n(n+1)/2n+1

證明:證明:
已知哈夫曼樹不含有度為1的結點設度為0的結點數為n0,度為2的結點數為n2,有n0=n2+1已知哈夫曼樹不含有度為1的結點\\ 設度為0的結點數為n 0,度為2的結點數為n_2,有n_0=n_2+110n02n2?n0?=n2?+1
n0+n2=Nn_0 +n_2=Nn0?+n2?=N
所以n0=(n+1)/2所以n_0=(n+1)/2n0?=(n+1)/2
二叉鏈表中的空指針個數2?n0=n+1二叉鏈表中的空指針個數2*n_0 = n+12?n0?=n+1

性質6:

在完全m叉樹中,編號為i的結點的第一個子結點編號為(i?1)?m+2在完全m叉樹中,編號為i的結點的第一個子結點編號為(i-1)*m + 2mi(i?1)?m+2

證明:證明:
假設編號為i的結點所在的層數為h?1,其第一個子結點所在層數為h那么在第h層,該子結點前面的結點個數為:(i?1?[mh?2?1m?1+1]+1)?m,表示為h?1層中i結點以前的結點乘以每個結點所含有的m個結點假設編號為i的結點所在的層數為h-1,其第一個子結點所在層數為h\\ 那么在第h層,該子結點前面的結點個數為:\\ (i-1-[\frac{m^{h-2}-1}{m-1}+1]+1)*m,表示為h-1層中i結點以前的結點乘以每個結點所含有的m個結點ih?1hh:(i?1?[m?1mh?2?1?+1]+1)?mh?1im
再加上h?1層以上所有的結點個數mh?1m?1(i?1?[mh?2?1m?1+1]+1)?m+mh?1m?1+1編號為(i?1)?m+2再加上h-1層以上所有的結點個數\frac{m^{h-1}}{m-1}\\ (i-1-[\frac{m^{h-2}-1}{m-1}+1]+1)*m + \frac{m^{h-1}}{m-1} +1\\ 編號為(i-1)*m +2h?1m?1mh?1?(i?1?[m?1mh?2?1?+1]+1)?m+m?1mh?1?+1(i?1)?m+2

本文會隨著我對二叉樹性質的認知而不斷更新,如果你有想通過數學證明的二叉樹性質,可以評論告訴我

總結

以上是生活随笔為你收集整理的二叉树相关性质以及数学证明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。