2014-09-12 27 views
-1

我想遍歷一棵樹的節點,並且每當訪問一個節點時,我想在節點上應用一個操作,除非節點是根。深度優先遍歷一棵樹,除了根節點之外的每個節點上都有操作

如果沒有例外根,僞代碼(在python風格)是

def depth_first_search(root): 

    operation(root) 

    for child in root's children: 
     depth_first_search(child) 

隨着例外根不工作,我應如何修改代碼?

謝謝。

回答

1

你可以是 a:爲root的每個孩子調用這個函數,這樣這個過程不會在根上運行。或者, b:爲每個節點存儲一個父指針。如果節點沒有父節點,則不要執行該操作。 希望這有助於!