Java數據結構和算法(七)——樹

基本概念java

樹(tree)是一種抽象數據類型(ADT),用來模擬具備樹狀結構性質的數據集合。它是由n(n>0)個有限節點經過鏈接它們的邊組成一個具備層次關係的集合。把它叫作「樹」是由於它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。

①、節點:上圖的圓圈,好比A,B,C等都是表示節點。節點通常表明一些實體,在java面向對象編程中,節點通常表明對象。
②、邊:鏈接節點的線稱爲邊,邊表示節點的關聯關係。通常從一個節點到另外一個節點的惟一方法就是沿着一條順着有邊的道路前進。在Java當中一般表示引用。
③、每一個節點最多隻能有兩個子節點的一種形式稱爲二叉樹編程


經常使用術語spa


①、路徑:順着節點的邊從一個節點走到另外一個節點,所通過的節點的順序排列就稱爲「路徑」。
②、根:樹頂端的節點稱爲根。一棵樹只有一個根,若是要把一個節點和邊的集合稱爲樹,那麼從根到其餘任何一個節點都必須有且只有一條路徑。A是根節點。
③、父節點:若一個節點含有子節點,則這個節點稱爲其子節點的父節點;B是D的父節點。
④、子節點:一個節點含有的子樹的根節點稱爲該節點的子節點;D是B的子節點。
⑤、兄弟節點:具備相同父節點的節點互稱爲兄弟節點;好比上圖的D和E就互稱爲兄弟節點。
⑥、葉節點:沒有子節點的節點稱爲葉節點,也叫葉子節點,好比上圖的A、E、F、G都是葉子節點。
⑦、子樹:每一個節點均可以做爲子樹的根,它和它全部的子節點、子節點的子節點等都包含在子樹中。
⑧、節點的層次:從根開始定義,根爲第一層,根的子節點爲第二層,以此類推。
⑨、深度:對於任意節點n,n的深度爲從根到n的惟一路徑長,根的深度爲0;
⑩、高度:對於任意節點n,n的高度爲從n到一片樹葉的最長路徑長,全部樹葉的高度爲0;3d

相關文章
相關標籤/搜索