如何从特定的起始顶点找到退化树中的所有等于路径?

时间:2015-05-19 15:25:41

标签: c++ algorithm graph sum doubly-linked-list

我有一些degenerate tree(它看起来像数组或双向链表)。例如,就是这棵树:

enter image description here

每条边都有一些重量。我想找到所有相等的路径,它们从每个顶点开始。

让边具有以下权重(这只是示例):

a-b = 3

b-c = 1

c-d = 1

d-e = 1

然后:

  1. 顶点A没有任何相等的路径(左侧没有顶点)。
  2. 顶点B有一对相等。路径B-A等于路径B-E (3 == 3)
  3. 顶点C有一对相等。路径B-C等于路径C-D (1 == 1)
  4. 顶点D有一对相等。路径C-D等于路径D-E (1 == 1)
  5. 顶点E没有任何相等的路径(右侧没有顶点)。
  6. 我实现了简单的算法,它适用于O(n^2)。但对我来说这太慢了。

0 个答案:

没有答案