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

图的算法问题 已知边的起止节点求其中一个系统节点总数
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
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;
}解决 无用评论 打赏 举报