幾種二叉樹的定義

2021-10-24 22:03:09 字數 840 閱讀 1964

二叉樹(binary tree)是指樹中節點的度不大於2的有序樹,它是一種最簡單且最重要的樹。

二叉樹的遞迴定義為:二叉樹是一棵空樹,或者是一棵由乙個根節點和兩棵互不相交的,分別稱作根的左子樹和右子樹組成的非空樹;左子樹和右子樹又同樣都是二叉樹 。

一棵二叉樹的結點要麼是葉子結點,要麼它有兩個子結點(如果乙個二叉樹的層數為k,且結點總數是(2^k) -1,則它就是滿二叉樹。)

若設二叉樹的深度為k,除第 k 層外,其它各層 (1~k-1) 的結點數都達到最大個數,第k 層所有的結點都連續集中在最左邊,這就是完全二叉樹。

是一棵空樹或它的任意節點的左右兩個子樹的高度差的絕對值不超過1

完全二叉樹一定是平衡二叉樹

對於樹中的每個節點x,他的左子樹中所有關鍵字值小於x的關鍵字值,而他的左子樹中所有關鍵字值大於x的關鍵字值。

平衡二叉搜尋樹:是二叉搜尋樹和平衡二叉樹的結合

樹的帶權路徑長度達到最小,稱這樣的二叉樹為最優二叉樹,也稱為哈夫曼樹(huffman tree)。哈夫曼樹是帶權路徑長度最短的樹,權值較大的結點離根較近。

每個結點的值都大於其左孩子和右孩子結點的值,稱之為大根堆;每個結點的值都小於其左孩子和右孩子結點的值,稱之為小根堆。

堆不是平衡二叉搜尋樹,搜尋樹是中大於左小於右,堆是父節點值大於(小於)左右孩子節點值

二叉樹的定義

滿二叉樹 除葉子結點外,所有結點均有兩個子結點。所有葉子結點在同一層。完全二叉樹 若設二叉樹的深度為h,除第 h 層外,其它各層 1 h 1 的結點數都達到最大個數,第 h 層所有的結點都連續集中在最左邊,這就是完全二叉樹 可以根據公式進行推導,假設n0是度為0的結點總數 即 葉子結點 數 n1是度...

二叉樹的定義

二叉樹的基本資料結構 使用陣列構造二叉樹 迭代方式實現先序 中序遍歷 水平遍歷 class btree else public function setleft bt2 public function setright bt2 public function setkey key function ...

二叉樹的定義

樹的概念 子節點和父節點 是相對定義的 一棵樹的根節點稱為該樹的子樹的根節點的父節點 子樹的根是樹根的子節點 邊 從父節點到子節點的連線 邊有方向 兄弟節點 父節點相同的節點互為兄弟節點 樹葉 分支節點 沒有子節點的節點稱為樹葉,樹中的其餘節點稱為分支節點 分支節點可只有乙個分支 祖先和子孫 基於父...