我很難與樹遍歷,所以避免它像瘟疫......通常。Python - 樹遍歷問題
我有一個類,它的排序,(略微簡化的版本,在這裏,但功能相同)像:
class Branch(object):
def __init__(self, title, parent=None):
self.title = title
self.parent = parent
我有一堆Branch
實例,每個標題作爲一本字典按鍵:
tree = {'Foo Branch': foo, 'Sub-Foo Branch': sub_foo, 'Bar Branch': bar}
現在,我知道有用於製造高效遍歷(如MPTT等),特別是與數據庫驅動的項目中使用,其中效率事項複雜的算法大多數。我根本不使用數據庫,只使用簡單的內存中對象。
鑑於一個Branch
的title
,我需要從tree
該分支的所有後代(孩子,孩子的孩子,所以-ON)的list
,所以:
- 你仍然使用的是推薦複雜(對於我的算法大腦:)像MPTT算法效率在我的情況下,還是有一種簡單的方法來實現這一點在一個單一的功能?
- 如果是這樣,你會推薦哪一個,知道我沒有使用數據庫?
- 你能提供一個例子,還是比我想象的要大得多?
注意:這不是一項家庭作業。我不在學校。算法上我真的很不好。我使用Django MPTT開發了一個需要數據庫存儲樹的項目......但仍然不太瞭解它。
如果我猜,我會說答案在於遞歸。 – orokusaki 2011-06-06 04:43:05