无向图中的4个循环

时间:2013-02-01 14:49:12

标签: c++ algorithm graph cycle

我有一个无向图,它是作为邻居矩阵给出的。我需要找到4个周期的计数:包含4个边的周期。如果您对算法有任何了解,请帮助我。

2 个答案:

答案 0 :(得分:3)

简单(非最佳)方法伪代码:

output = []
skip_nodes = []
for node in input_graph:
    if node in skip_nodes:
        continue
    for path in deep_search(start=node, max_depth=4):
        if len(path) == 4 and path[1] == path[4]:
            output.append(path)
            skip_nodes.append(path[2], path[3], path[4])
return output

答案 1 :(得分:3)

将矩阵自身乘以4次,据我所知,非0对角线项目将参与4边循环(这里可能有错误的标准,但你可以进一步挖掘)

http://www.math.vt.edu/people/brown/doc/cycles_dm9875.pdf