wiflsnmo 2016-04-12 08:36 采纳率: 0%
浏览 1396

图的算法问题 已知边的起止节点求其中一个系统节点总数

求大神帮我想个算法,我有n组数据对,src->target,展示出来就是数个有向无环图,每个分隔的图称为一个系统,要求给出两个数据我能知道这两个数在不在同一个系统以及这个系统的节点总数是多少。有没有什么简单可行的方法啊
图片说明图片说明

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-04-12 09:48
    关注

    无非就是递归遍历。你每个节点除了本身数据之外,加上一个bool值表示是否被遍历过,伪代码如下:
    int countNode(Node n)
    {
    int r = 0;
    n.Visited = true;
    for (subn : n.Nodes)
    {
    if (!subn.Visited)
    r += countNode(subn);
    }
    return r + 1;
    }

    评论

报告相同问题?