我有一些degenerate tree
(它看起来像数组或双向链表)。例如,就是这棵树:
每条边都有一些重量。我想找到所有相等的路径,它们从每个顶点开始。
让边具有以下权重(这只是示例):
a-b = 3
b-c = 1
c-d = 1
d-e = 1
然后:
A
没有任何相等的路径(左侧没有顶点)。B
有一对相等。路径B-A
等于路径B-E
(3 == 3)
。C
有一对相等。路径B-C
等于路径C-D
(1 == 1)
。D
有一对相等。路径C-D
等于路径D-E
(1 == 1)
。E
没有任何相等的路径(右侧没有顶点)。我实现了简单的算法,它适用于O(n^2)
。但对我来说这太慢了。