請考慮下面的這個概念圖,僅用於演示目的。查找樹中的常見子樹
Abc Foo
\ / \
\ / Foo2
Bar \
/ \ Foo3
Bar2 Bar3 \
/ \ Foo4
X Y
在上面的樹中,有一個獨特的「路徑」,Foo-> Bar-> Bar2-> X。此路徑與Abc-> Bar-> Bar2-> X不同。顯然,在上述表示中丟失了這些信息,但考慮我已存儲了所有單獨的唯一路徑。
但是他們這樣做,共享路徑「酒吧,> Bar2-> X」的某些部分。
的算法我想要麼找到或實現的目的是,我想這彙總信息,所以我不能存儲各個路徑。但更重要的是,我試圖找到所有這些共同的路徑,並賦予它們權重。因此,例如,在上述情況下,我可以濃縮有關「Bar-> Bar2-> X」的信息,並說它發生了兩次。很明顯,我會要求它適用於所有情況。
是的,最終的想法是能夠快速問「給我一個從Foo所有不同的路徑」。在這個例子中,只有1,Foo-> Bar-> Bar2-> X。 Foo-> Bar-> Bar2-> Y和Foo-> Bar-> Bar3不存在。該圖僅用於查看目的。
任何想法?
http://stackoverflow.com/questions/1685239 http://stackoverflow.com/questions/6673994 – 2012-03-04 10:29:10
你在談論一個「樹」,是指那些邊緣真的執導?整個「樹」如何存儲? – 2012-03-04 11:18:17