樹
根節點
子樹
邊(有向的)
父親(結點)
兒子(結點)
兄弟(結點)
葉結點(沒有兒子的結點)
祖父(結點)
孫子(結點)
路徑(其長爲路徑上的邊的條數,每個結點到它自己有一條長爲0的路徑)
(結點的)深度(從根到該結點的唯一路徑的長,根的深度爲0)
(結點的)高(從該結點到一片樹葉的最長路徑的長,所有樹葉的高爲0,一棵樹的高等於它的根的高)
祖先(包括結點自己對自己的情況)
後裔(包括結點自己對自己的情況)
真祖先
真後裔
樹的典型實現
struct TreeNode
{
Object element;
TreeNode *firstChild;
TreeNode *nextSibling;
};
樹的遍歷
前序遍歷(對結點的處理工作是在它的諸兒子結點被處理之前進行的)
後序遍歷(在一個結點的工作是在它的諸兒子結點被計算後進行的)