二叉鍊錶儲存二叉樹

2022-07-29 23:24:12 字數 906 閱讀 9160

鏈式儲存結構

二叉樹的鏈式儲存結構是指,用鍊錶來表示一棵二叉樹,即用鏈來指示元素的邏輯關係。

其中,data域存放某結點的資料資訊;lchild與rchild分別存放指向左孩子和右孩子的指標,當左孩子或右孩子不存在時,相應指標域值為空(用符號∧或null表示)。利用這樣的結點結構表示的二叉樹的鏈式儲存結構被稱為二叉鍊錶,如圖5-8所示。  

(a) 一棵二叉樹                           (b) 二叉鍊錶儲存結構

圖5-8   二叉樹的二叉鍊錶表示示意圖

為了方便訪問某結點的雙親,還可以給鍊錶結點增加乙個雙親欄位parent,用來指向其雙親結點。每個結點由四個域組成,其結點結構為:

這種儲存結構既便於查詢孩子結點,又便於查詢雙親結點;但是,相對於二叉鍊錶儲存結構而言,它增加了空間開銷。利用這樣的結點結構表示的二叉樹的鏈式儲存結構被稱為三叉鍊錶。

圖5-9給出了圖5-8 (a)所示的一棵二叉樹的三叉鍊錶表示。

圖5-9二叉樹的三叉鍊錶表示示意圖

儘管在二叉鍊錶中無法由結點直接找到其雙親,但由於二叉鍊錶結構靈活,操作方便,對於一般情況的二叉樹,甚至比順序儲存結構還節省空間。因此,二叉鍊錶是最常用的二叉樹儲存方式。

結構5-2二叉樹的鏈式儲存

#define datatype char  //定義二叉樹元素的資料型別為字元

typedef struct node //定義結點由資料域,左右指標組成

bitree;

二叉鍊錶儲存二叉樹

鏈式儲存結構 二叉樹的鏈式儲存結構是指,用鍊錶來表示一棵二叉樹,即用鏈來指示元素的邏輯關係。其中,data域存放某結點的資料資訊 lchild與rchild分別存放指向左孩子和右孩子的指標,當左孩子或右孩子不存在時,相應指標域值為空 用符號 或null表示 利用這樣的結點結構表示的二叉樹的鏈式儲存結...

二叉鍊錶儲存的二叉樹

樹形結構是一類重要的非線性資料結構,其中以樹和二叉樹最為常用。對於每乙個結點至多只有兩課子樹的一類樹,稱其為二叉樹。二叉樹的鏈式儲存結構是一類重要的資料結構,其形式定義如下 而二叉樹的前序 中序遍歷是非常重要的能夠訪問二叉樹所有結點的演算法,下面分別列出一種先序遍歷和兩種中序遍歷的演算法。第一種中序...

二叉樹儲存方式 二叉鍊錶

二叉樹一般有兩種儲存方式 1 陣列方式 2 鍊錶方式 1 陣列儲存方式 上面兩個二叉樹對應的鍊錶儲存為 我們採用層序遍歷的方式將二叉樹各個節點進行編號 這裡的編號我們是把二叉樹均看成滿二叉樹進行編號的,這樣編號的好處是方便我們根據編號輕鬆定位節點位置 並將節點資料存放在對應編號下。我們可以看出對於滿...