資料結構 二叉樹 二

2021-07-28 14:15:27 字數 909 閱讀 7128

二叉樹是n個結點的有限集合,該集合或者空集(稱為二叉樹),或者由乙個根結點和兩棵互不相交的、分別稱為根結點的左子樹和右子樹的二叉樹組成。

二叉樹特點

①每個結點最多有兩棵子樹,所以二叉樹不存在度大於2的結點。注意不是只有兩棵子樹,而是最多有。沒有子樹或者有一棵子樹都是可以的。

②左子樹和右子樹是有順序的,次序不能任意顛倒。

③即使樹中某結點只有一棵子樹,也要區分它是左子樹還是右子樹。

特殊二叉樹

滿二叉樹:在一棵二叉樹中,如果所有分支結點都存在左子樹和右子樹,並且所有的葉子都在同一層上,這樣的二叉樹稱為滿二叉樹。

滿二叉樹的特點:①葉子只能出現在最下一層。出現在其他層就不可能達成平衡。

非葉子結點的度一定是2

③在同樣深度的二叉樹中,滿二叉樹的結點個數最多,葉子數最多

完全二叉樹:對一棵具有n個結點的二叉樹按層序編號,如果編號為i的結點與同樣深度的滿二叉樹中編號為i的結點在二叉樹中位置完全相同,則這棵二叉樹稱為完全二叉樹。

完全二叉樹的特點:①葉子結點只能出現在最下兩層。

②最下層的葉子一定集中在左部連續位置。

③倒數二層,若有葉子結點,一定都在右部連續位置。

④如果結點度為1,則該結點只有左孩子,即部存在只有右子樹的情況。

⑤同樣結點數的二叉樹,完全二叉樹的深度最小。

如何判斷二叉樹是否是完全二叉樹的辦法,那就是看著書的示意圖,心中默默給每個結點按照滿二叉樹的結構逐層順序編號,如果編號出現空擋,就說明不是完全二叉樹,否則就是。

資料結構 二叉樹(二)

我們用陣列來實現二叉樹 順序二叉樹 二叉樹的結構 用陣列來儲存節點 演算法 classname treenode description 樹的節點 author fuling date 2020年8月23日 下午2 24 06 public class treenode public treenod...

資料結構 二叉樹 反轉二叉樹

include using namespace std define maxsize 1000 struct binary tree node class queue queue queue void queue push binary tree node btn binary tree node ...

資料結構 樹結構 二叉樹 完全二叉樹 滿二叉樹

樹結構是一種描述非線性層次關係的資料結構。除根結點外,其餘每個結點有且僅有乙個直接前驅。每個結點可以有任意多個直接後繼。英文名詞表示 tree,root,node,leaf,edge,child,subtree 要麼二叉樹沒有根結點,是一棵空樹。要麼二叉樹由根結點,左子樹,右子樹組成,且左子樹和右子...