【发布时间】:2012-03-04 07:26:51
【问题描述】:
考虑下面这个概念图,它仅用于演示目的。
Abc Foo
\ / \
\ / Foo2
Bar \
/ \ Foo3
Bar2 Bar3 \
/ \ Foo4
X Y
在上面的树中,有一个唯一的“路径”,Foo->Bar->Bar2->X。这条路径不同于 Abc->Bar->Bar2->X .. 显然这些信息在上述表示中丢失了,但考虑到我存储了所有单独的唯一路径。
但是,它们确实共享路径“Bar->Bar2->X”的某些部分。
我试图找到或实施的算法的目的是我想汇总这些信息,这样我就不能存储单独的路径。但更重要的是,我试图找到所有这些共同的路径,并赋予它们权重。因此,例如,在上述情况下,我可以压缩有关“Bar->Bar2->X”的信息并说它发生了 2 次。显然,我要求它适用于所有情况。
是的,最终的想法是能够快速提出“向我展示来自 Foo 的所有不同路径”的问题。在这个例子中只有 1 个,Foo->Bar->Bar2->X。 Foo->Bar->Bar2->Y 和 Foo->Bar->Bar3 不存在。该图仅供查看。
有什么想法吗?
【问题讨论】:
-
你说的是“树”,那些边真的是有方向的吗?整个“树”是如何存储的?
标签: algorithm graph tree graph-algorithm