必須懂的二元樹公式
1、一般二元樹的性質
性質1、在非空二元樹的i層上,至多有2^i個結點。
性質2、高度為K的二元樹中,最多有2^(k 1)-1個結點。
性質3、對於任何一棵非空的二元樹,若葉結點的個數為n0,度為2的結點個數為n2,則有n0=n2 1。
2、完全二元樹
定義:若一棵二元樹中,只有最下面的兩層結點度數小於2,其餘各層結點度數都等於2,並且最下面一層的結點,都集中在該層最左邊的若干位置上,則此二元樹稱為完全二元樹。
性質1、具有n個結點的完全二元樹的高度k為[log^2n]。
性質2、對於具有n個結點的完全二元樹,如果按照從上(根結點)到下(葉結點)和從左到右的順序對二叉樹中的所有結點從0開始到n-1進行編號,則對於任意的下標為i的結點,有:
#(1)如果i=0,則它是根結點,它沒有父結點;如果i>0,則它的父結點的下標為(i-1)/2。
(2)如果2i 1<=n-1,則下標為i的結點的左子結點的下標為2i 1;否則,下標為i的結點沒有左子結點。
(3)如果2i 2<=n-1,則下標為i的結點的右子結點的下標為2i 2;否則,下標為i的結點沒有右子結點。
3、滿二叉樹
定義:如果一二叉的任何結點或樹葉,或有兩棵非空子樹,則此二元樹稱為滿二叉樹。
性質、在滿二元樹中,葉結點的個數比分支結點個數多1。
4、擴充二元樹
定義:擴充二元樹是對一個已有二元樹的擴充,擴充後原二元樹的結點都變成度數為2的分支結點。也是是說,如果原結點的度數為2,則不變;度數為1,則增加一個分支;度數為0,則增加兩個分支。
性質1、在擴充二元樹中,外部結點的數量比內部結點的數量多1。
性質2、對任意擴充二元樹,外部路徑長度E和內部路徑長度I之間滿足以下關係:E=I 2n,其中n是內部結點個數。
更多常見問題的相關技術文章,請造訪常見問題欄位進行學習!
以上是必須懂的二元樹公式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

1.開啟PPT,點選【插入】選項卡,在【插圖】群組中點選【smartArt】按鈕。 2、在開啟的【選擇smartArt圖形】對話方塊中點選【流程】。 3.在開啟的【流程】窗格中選擇【公式】流程圖。 4.點選【確定】,【公式】流程圖便插入到投影片窗格。 5.在【在此鍵入文字】欄【文字】處點擊,或按一下圖形上【文字】,可以輸入內容。 6.在圖形中選擇形狀,點選【smartArt工具】的【設計】選項卡,在【建立圖形】群組點選【新增形狀】按鈕,可以新增形狀。 7.圖形中的形狀也可以選擇後刪除,當然也可以根據需要在smar

工作中用到excel軟體時,常常要用到函數公式,要想熟練運用excel,就要熟練操作函數公式。對於要掌握公式,其實也不是很難的,我們可以從最簡單的開始學習,今天小編就來跟大家分享Excel表格公式怎麼操作,以乘法公式為例,跟大家一起來學習! 1.首先,打開excel,由於我是在這裡做演示,所以隨便輸入了兩組數據,現在我們要計算這兩組數據的乘積。我們想要算A列和B列的乘積,把單元格放在D4處,如下圖紅色圈出部分所示:2.然後,在單元格中輸入等號,選擇第一個參數B4單元格,輸入乘號,選擇第二個參數C4單

任務是列印給定二元樹的左節點。首先,使用者將插入數據,從而生成二元樹,然後列印所形成的樹的左側視圖。每個節點最多可以有2個子節點,因此這裡程式必須僅遍歷與節點關聯的左指針如果左指針不為空,則表示它將有一些與之關聯的資料或指針,否則它將是要列印並顯示為輸出的左子級。範例Input:10324Output:102這裡,橘色節點代表二元樹的左邊視圖。在給定的圖中,資料為1的節點是根節點,因此它將被列印,而不是轉到左子節點,它將列印0,然後它將轉到3並列印其左子節點,即2 。我們可以使用遞歸方法來儲存節點的級

二元樹是計算機科學中常見的資料結構,也是Java程式設計中常用的資料結構。本文將詳細介紹Java中的二元樹結構。一、什麼是二元樹?在電腦科學中,二元樹是一種樹狀結構,每個節點最多有兩個子節點。其中,左側子節點比父節點小,右側子節點比父節點大。在Java程式設計中,常用二元樹表示排序,搜尋以及提高對資料的查詢效率。二、Java中的二元樹實作在Java中,二元樹

任務是列印給定二元樹的右節點。首先使用者將插入資料以建立二元樹,然後列印所形成的樹的右視圖。上圖展示了使用節點10、42、93、14、35、96、57和88建立的二元樹,其中選擇並顯示在樹的右側的節點。例如,10、93、57和88是二元樹的最右節點。範例Input:1042931435965788Output:10935788每個節點都有兩個指針,即左指針和右指針。根據這個問題,程式只需遍歷右節點。因此,不需要考慮節點的左子節點。右視圖儲存了所有那些是其所在層級的最後一個節點的節點。因此,我們可以

作為一種常用的資料結構,二元樹經常被用來儲存資料、搜尋和排序。遍歷二元樹是非常常見的操作之一。 Python作為一種簡單易用的程式語言,有許多方法可以實作二元樹的遍歷。本文將介紹如何使用Python實現二元樹的前序、中序和後序遍歷。二元樹的基礎在學習二元樹的遍歷之前,我們需要先了解二元樹的基本概念。二元樹由節點組成,每個節點都有一個值和兩個子節點(左子節點和右子

公式VLOOKUP是微軟Excel中非常常用的函數,它用於在一個表格或資料集中尋找特定的值,並傳回與之相關聯的其他值。在本篇文章中,我們將學習如何正確使用VLOOKUP公式。 VLOOKUP函式的基本語法如下:VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])其中:lookup

二元樹是一種資料結構,其中每個節點最多可以有兩個子節點。這些孩子分別稱為左孩子和右孩子。假設我們得到了一個父數組表示,您必須使用它來建立一棵二元樹。二元樹可能有幾個等腰三角形。我們必須找到該二元樹中可能的等腰三角形的總數。在本文中,我們將探討幾種在C++中解決這個問題的技術。理解問題給你一個父數組。您必須以二元樹的形式表示它,以便數組索引形成樹節點的值,而數組中的值給出該特定索引的父節點。請注意,-1始終是根父節點。下面給出的是一個數組及其二元樹表示。 Parentarray=[0,-1,3,1,