資料結構 樹 (一)

2021-08-19 14:34:54 字數 1438 閱讀 5895

內容來自於:《大話資料結構》讀書筆記

樹的儲存結構

第二種 孩子表示法

第三種,孩子兄弟表示法。

二叉樹第三,完全二叉樹。

二叉樹的性質

二叉樹的儲存結構

樹的定義要注意兩點

節點相關概念

節點的度,葉節點和終端節點,非終端節點或者分支結點,內部節點,樹的度

樹的其他相關概念

樹的深度或者高度就是最大層次,有序樹和吳序樹的概念,森林的概念,線性結構與樹結構的最主要的區別就是乙個是一對一,乙個是一對多。

最基本的雙親表示法就是為乙個節點分配儲存空間的時候。有乙個資料域還有乙個指標域。也可以根據需要分為指向孩子節點的指標。這種儲存方式可以很方便的找到她的雙親結點,時間複雜度為o(1)。非常方便。因為如果你需要查詢對應的孩子節點或者兄弟節點,堂兄弟節點,就只需要增加對應的指標的就可以了。

方案一 給所有的節點分配的指標個數等於樹的度

這種分配方式比較簡單,因為節點的度不同,但是空間浪費的比較大。如果每個節點的度都相同或者相近的話就比較適合。

方案二 每個結點指標域的個數等於該節點的度。

但是取乙個專門的位置來儲存節點指標域的個數。這種方法克服了浪費空間的缺點,但是在時間上會帶來損耗。

方案三 孩子表示法。

把每個節點的孩子節點連線起來。用單鏈表作為儲存結構,n個結點,有n個鍊錶,如果是葉子節點單鏈表為空。然後又n個頭指標指向這些鍊錶。最後將這些節點的資料域和頭指標採用順序儲存結構,放進乙個一維陣列裡面。這種方式有兩種節點儲存結構。一種是資料域和頭指標組成的順序儲存結構,第二種是孩子節點之間組成的鏈式儲存結構。

可以把雙親表示法和孩子表示法綜合一下。在原來的資料域和頭指標節點上面增加一塊用來儲存雙親結點,這種方法稱為雙親孩子表示法

這種方法每個樹的節點分為三塊,一塊是資料域,一塊儲存乙個指向第乙個孩子節點的指標,最後乙個儲存指向該結點的右兄弟的指標。這種方式最大的好處就是把任意的一棵樹轉化成了一棵二叉樹。然後可以利用二叉樹的特性和演算法來處理這棵樹。當然,如果你要查詢雙親節點的話。也可以在這個節點中儲結構上面再增加一塊指向雙親節點的指標。

二叉樹的特點

二叉樹的五種基本形態。

特殊二叉樹

第一,斜樹。

分為左斜樹和右斜樹,如果所有的節點都是只有左子樹的二叉樹叫做左斜樹。相反的叫做右斜樹。

第二,滿二叉樹。

所有的分支節點都存在左子樹和右子樹,並且所有的葉子都在同一層上。

滿二叉樹的特點

第三,完全二叉樹。

就是滿二叉樹,最後面一層右邊有部分節點缺失了。同樣節點數的二叉樹,完全二叉樹的深度最小。

二叉樹的性質順序儲存結構

順序儲存結構一般只用來儲存完全二叉樹,具體儲存方法是將完全二叉樹按照程式編號從上到下,從左到右依次儲存在乙個一維陣列裡面。

鏈式儲存方法

每個節點包含乙個資料和兩個指標域兩個指標域分別指向他的左右節點。

資料結構(一)樹

是由n 0 個結點組成的有窮集合以及結點之間關係組成的集合構成的結構,是一種一對多的資料結構。特點 1.有且僅有乙個結點沒有前驅結點,該結點為樹的根結點。2.除了根結點外,每個結點有且僅有乙個直接前驅結點。3.包括根結點在內,每個結點可以有多個後繼結點。樹的術語 1.結點的度 該結點擁有的子樹的數目...

資料結構(承) 樹型結構(一)

樹的定義 具有n n 0 個節點的有限非空集合,且有且只有乙個特定的節點成為根。節點 節點表示樹中的元素,包括資料項及若干指向子樹的分支。節點的度 節點所擁有的子樹的個數稱為該節點的度 degree 樹的度 樹中各節點度的最大值成為樹的度。葉節點 度為0的節點稱為葉節點。分支節點 度不為0的節點成為...

資料結構 樹

樹的概念 1.家族樹 在現實生活中,有入如下血統關係的家族可用樹形圖表示 張源有三個孩子張明 張亮和張麗 張明有兩個孩子張林和張維 張亮有三個孩子張平 張華和張群 張平有兩個孩子張晶和張磊。以上表示很像一棵倒畫的樹。其中 樹根 是張源,樹的 分支點 是張明 張亮和張平,該家族的其餘成員均是 樹葉 而...