树的概念及存储结构(双亲表示法,孩子表示法,孩子兄弟表示法)
生活随笔
收集整理的這篇文章主要介紹了
树的概念及存储结构(双亲表示法,孩子表示法,孩子兄弟表示法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一. 樹的概念
- 二. 樹的存儲結構
- (一). 雙親表示法
- (二). 孩子表示法
- 1. 定長結點鏈表存儲結構
- 2. 孩子鏈表存儲結構
- (三). 孩子兄弟表示法
一. 樹的概念
- 有且僅有一個特定的稱為 根(Root) 的結點;
如上圖,A為根 - 當 n > 1 時,其余結點可分為m(m > 0)個互不相交的有限集T1,T2,T3…Tm,其中每一個集合本身又是一顆樹,并且稱為根的子樹。
B,C,D稱為A的子樹
A的子樹個數有3個,即度為3。B的子樹個數為0,即度為0。
B,H,F,G的度為0,即B,H,F,G稱為葉子結點。
如A,C,D,E。
A的度為3,在所有結點中式最大的,即樹的度就是3。
結點H是結點E的孩子結點,反之,E是H的雙親結點。
E和F互為兄弟。
H的祖先是A,C,E。 C的子孫是E,F,H。
圖中樹的深度為3。
二. 樹的存儲結構
(一). 雙親表示法
data值就是結點的數據值,parent表示這個數據結點的雙親結點在這個空間中存放的位置。
可表示為:
(二). 孩子表示法
由于樹中每個結點可能有多棵子樹,則可用多重鏈表,即每個結點有多個指針域,其中每個指針指向一棵子樹的根節點,此時鏈表中的結點可以有如下兩種結點格式:
1. 定長結點鏈表存儲結構
孩子鏈表存儲結構可按樹的度設計結點的孩子結點指針域個數
2. 孩子鏈表存儲結構
而n個頭指針又組成一個線性表,為了便于查找,可采用順序存儲結構。如下圖:
(三). 孩子兄弟表示法
總結
以上是生活随笔為你收集整理的树的概念及存储结构(双亲表示法,孩子表示法,孩子兄弟表示法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hackmyvm-bunny walkt
- 下一篇: L2-1 盲盒包装流水线 (25 分)