二叉樹,二叉樹c++

來源:互聯網
上載者:User

二叉樹,二叉樹c++

       樹型結構是一類重要的非線性資料結構,其中二叉樹較為常用。二叉樹的特點的每個節點至多隻有兩棵子樹(寄即二叉樹中不存在大於2的節點),並且二叉樹有左右子樹之分。

二叉樹的屬性:

     1、二叉樹有5種基本形態,(a)空二叉樹 (b)僅有根節點的二叉樹 (c) 右子樹為空白的二叉樹 (d)左右子樹均為非空的二叉樹(e)左子樹為空白的二叉樹

二叉樹的性質;

     性質1  在二叉樹的第 i 層上至多有 2^( i -1) 個節點 ( i ≧ 1 )

     性質2  深度為 k 的二叉樹 至多有 2^k - 1 個節點, ( k ≧ 1)

     性質3 對任何一棵二叉樹 T ,如果其 終端結點 數 為 n0,度為2的節點數為n2,則 n0 = n2 + 1.(度:指父結點下面有幾個孩子結點);

     性質4 具有n個節點的完全二叉樹的深度為 [㏒₂n] + 1

     性質5 如果有一棵有n個節點的完全二叉樹(其深度為 [㏒₂n] + 1)的節點按層序編號(從第 1 層到 第 [㏒₂n] + 1 層,每層從左至右),則對任意一節點 i (1≤ i ≤ n),有

              ①如果 i = 1,則節點 i 是二叉樹的根,無雙親 ; 如果 i > 1,則其雙親的節點 為 [ i / 2];

              ②如果 2i > n, 則節點 i 無左孩子(節點 i 為葉子的節點);否則其左孩子的是 2i。

              ③如果 2i + 1 > n,則其無有孩子;否則其右孩子的節點是 2i + 1

二叉樹的遍曆方式:

       1、層次遍曆  (從上到下,從左至右的順序進行遍曆)

       2、先序遍曆  ( PreOrder(T) = T的根節點 + PreOrder(T的左子樹) + PreOrder(T的右子樹) )

       3、中序遍曆  ( InOrder(T) = InOrder(T的左子樹) + T的根節點 +  InOrder(T的右子樹) )

       4、後序遍曆  ( PostOrder(T) = PostOrder(T的左子樹) + PostOrder(T的右子樹)  + T的根節點 )

(如有轉載請註明出處)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.