图中可能的路径数

时间:2018-04-29 08:35:02

标签: c++ graph

我必须计算无向图中可能的路径数 示例:我有一个带有4个节点的无向​​图。顶点: 1-> 2; 2> 3; 2> 4 。 因此,可能的路径数量 12

(1->2;  1->2->3;  1->2->4;  2->1;  2->3;  2->4;  3->2;  3->2->4...and so on);

1 个答案:

答案 0 :(得分:0)

因为我不确切知道你是如何编写代码的,所以我能给你的只是一些伪代码解释:

function getPathsFromNode(node)
    mark node
    c = 0;

    foreach neighbour in adjacent nodes of node
        if neighbour is not marked
            c += getPathsFromNode(neighbour) + 1

    return c


function main()
    n = 0
    foreach node in graph
        n += getPathsFromNode(node)

    print("paths = ", n)

基本上它只是图表中每个节点的DFS