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