位于给定树的多个顶点之间的边

时间:2013-03-06 20:56:03

标签: algorithm

我有一个树有N个顶点v1,v2,v3 .... vN。树挂在顶点v1上。现在我在树中选择了一些随机路径。如何知道树中是否存在所有这些选定路径上的边缘?

编辑 - 所有路径都是双向的。

1 个答案:

答案 0 :(得分:0)

正如G. Bach所建议的那样,您遍历每条路径,并在此过程中为每条边记录它在路径中包含的次数。最后,您可以遍历边集,并且与路径数相同的边(或边)将是位于所有选定路径上的边。

由于树中只有n-1个边缘,因此该算法为O(n),我猜这是最有效的。