过滤图表中的顶点

时间:2016-06-07 16:30:42

标签: algorithm graph-algorithm directed-acyclic-graphs graph-traversal

假设我有一个有N个顶点和大小为M的顶点子集的有向无环图。

M个顶点都标记为已访问,如何找到图中所有前任的所有顶点被访问

例如:如果有4个顶点a,b,c,u和3个边(a,u)(b,u)(c,u)和a,b,c被标记为访问我需要输出你。

我正在考虑通过所有顶点和每个顶点检查他的所有前辈,但我认为这不是很有效..

1 个答案:

答案 0 :(得分:0)

从原始图中删除那些M个顶点。这可以通过从访问过的'中删除传出边缘来完成。节点

不在M中并且无法从任何其他顶点到达的节点都访问了所有前任(在M中)。

如果图形是邻接矩阵的形式,那么这可以通过扫描每一列并检查其中是否有任何非零条目来完成。