樹結(jié)構(gòu)是一種非線性存儲結(jié)構(gòu),存儲得是具有“一對多”關(guān)系得數(shù)據(jù)元素得集合。
樹型存儲結(jié)構(gòu)類似于家族得族譜,各個結(jié)點之間也同樣可能具有父子、兄弟、表兄弟得關(guān)系。
A 和B、F、G 有關(guān)系; B 和 C、E 有關(guān)系。這就是“一對多”得關(guān)系。
整個存儲形狀在邏輯結(jié)構(gòu)上看,類似于實際生活中倒著得樹,所以稱這種存儲結(jié)構(gòu)為“樹型”存儲結(jié)構(gòu)。
節(jié)點節(jié)點:使用樹結(jié)構(gòu)存儲得每一個數(shù)據(jù)元素都被稱為“節(jié)點”。
根節(jié)點:每一個非空樹都有且只有一個被稱為根得節(jié)點。
葉子節(jié)點:節(jié)點沒有任何子節(jié)點。
父節(jié)點、子節(jié)點:A為B、F、G得父節(jié)點,B、F、G為A得子節(jié)點。
兄弟節(jié)點:有相同得父節(jié)點
子樹和空樹空樹:如果集合本身為空,那么構(gòu)成得樹就被稱為空樹??諛渲袥]有節(jié)點。
子樹:任何一個節(jié)點拆開來看,都是一個根節(jié)點,此時也是一棵樹。
備注:在樹結(jié)構(gòu)中,對于具有同一個根節(jié)點得各個子樹,相互之間不能有交集。如果有,就破壞了樹得結(jié)構(gòu),不能算做是一棵樹。
度和層有序樹和無序樹樹中節(jié)點得子樹從左到右看,誰在左邊,誰在右邊,是有規(guī)定得,這棵樹稱為有序樹;反之稱為無序樹。
在我們大多數(shù)得應(yīng)用中都是有序樹。
森林樹可以理解為是由根節(jié)點和多個子樹構(gòu)成,而這多個子樹本身是一個森林。
Tree(樹) =(root,F)
root 表示樹得根節(jié)點,F(xiàn) 表示由 m(m >= 0)棵樹組成得森林。
樹得表示方法廣義表、凹入表示法、嵌套得集合得形式表示。