資料結構與演算法學習總結 七 二叉樹的概念

2021-09-12 02:09:46 字數 1476 閱讀 6503

二叉樹(binary tree)由結點的有限集合構成

這個有限集合或者為空集(empty),或者為由乙個根節點(root)及兩顆互不相交、分別稱作這個根的左子樹(left bustree)和右子樹(right subtree)的二叉樹組成的集合。

二叉樹可以是空集合,因此根可以有空的左子樹或右子樹,或者左右子樹都為空。

-子結點、父結點、最左子結點

:若∈r,則稱k是k'的父結點(或"父母"),而k'則是k的子結點(或"兒子"、"子女")

-兄弟節點、左兄弟、右兄弟

:若有序對及都∈r,則稱k'和k''互為兄弟結點。

-分支結點、葉子結點

:沒有子樹的節點稱為葉子結點(或樹葉、終端結點)

:非終端結點稱為分支結點

兩個節點的有序對,稱作邊

除結點k0外的任何節點k ∈k,都存在乙個結點序列k0,k1,...,ks,使得k0就是樹根,且ks=k,其中有序對∈r(1<=i<=s)。這樣的結點序列稱為從根到結點k的一條路徑,其路徑長度為s(包含的邊數)。

若有一條由k到達ks的路徑,則稱k是ks的祖先,ks是k的子孫

根為第0層,其他結點的層數等於其父結點的層數加1

層數最大的葉子結點的層數

層數最大的葉子結點的層數加1

如果一棵二叉樹的任何結點,或者是樹葉,或者恰有兩顆非空子樹,則此二叉樹稱為滿二叉樹

最多只有最下面的兩層結點度數可以小於2

最下一層的結點都集中最左邊

所有空子樹,都增加空樹葉

外部路徑長度e和內部內徑長度i的關係滿足:e=i+2n(n是內部結點個數)

在二叉樹中,第i層上最多有2的i次方個結點(i>=0)

深度為k的二叉樹至多有2的(k+1)次方減1個結點(k>=0),其中深度(depth)定義為二叉樹中層數最大的葉子結點的層數。

一棵二叉樹,如果終端結點數為n0,度為2的節點數為n2,則n0=n2+1

滿二叉樹定理:非空滿二叉樹樹葉數目等於其分支結點數加1

滿二叉樹定理推論:乙個非空二叉樹的空子樹數目等於其結點數加1

有n個結點(n>0)的完全二叉樹的高度為log2(n+1),深度為[log2(n+1)]-1

ps:複習考研了,目標是北郵計算機的非全,可能得等學習到專業課的部分才會繼續更新部落格了,加油吧!

《戀上資料結構與演算法》筆記(七) 二叉樹

二 二叉樹 三 leetcode演算法題 跳轉到目錄 跳轉到目錄 跳轉到目錄 跳轉到目錄 跳轉到目錄 節點的高度 從當前節點到最遠葉子節點的路徑上的節點總數。樹的深度 所有節點深度的最大值。樹的高度 所有節點高度的最大值。跳轉到目錄 跳轉到目錄 跳轉到目錄 跳轉到目錄 a 真二叉樹 跳轉到目錄 b ...

資料結構與演算法Java(七) 二叉樹基礎(上)

相關節點關係 a是b的父節點 b是a的子節點 bcd是兄弟節點 e是根節點 沒有子節點的節點叫做葉子節點或葉節點,如ghijkl 節點的高度 從下往上 節點到葉子節點的最長路徑 邊數 節點的深度 從上往下 根節點到這個節點所經歷的邊的個數 節點的層數 節點的深度 1 樹的高度 根節點的高度 1 滿二...

資料結構與演算法學習筆記 順序儲存二叉樹

從資料儲存來看,陣列儲存方式和樹的儲存方式可以相互轉換,即陣列可以轉換成樹,樹也可以轉換成陣列,順序儲存二叉樹的特點 順序二叉樹通常只考慮完全二叉樹 第n個元素的左子節點為2 n 1 第n個元素的右子節點為2 n 2 第n個元素的父節點為 n 1 2 n 表示二叉樹中的第幾個元素 按 開始編號如圖所...