查找有向图的最大值

时间:2015-12-11 14:57:54

标签: c++ nodes multimap directed-graph edges

我得到的Directed Graph未加权。如果仅沿着边缘的方向行进,如果给出一个顶点,我想知道是否每个其他顶点都可以到达。如果图表是Complete Graph,这很明显。我对图表不完整的情况感兴趣。

就实现而言,我将每个连接存储在multimap中。 multimap关键边缘multimap值是边头。所以说我有以下几对:

  • (1,2)
  • (2,3)
  • (1,4)

在此图中,如果1是给定节点,则可以直接或间接地到达每个节点。如果另一对被添加到multimap :( 5,3)5将不能直接或间接地从1到达,也不能从3到达任何节点,因此该图中的给定节点不能到达所有其他节点。

我的问题是:如果我正在使用此图表测试是否单个节点可以到达所有其他节点,我是否应该向multimap添加边缘以使所有间接连接直接进行,然后检查所有节点是否都连接到给定节点?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

所以你使用multimap作为邻接列表?如果两个节点可以相互连接,您是否在问我们是否应该在此列表中插入邻接?我强烈建议不要这样做。如果以后要执行任何图形遍历,您的结构将被实际上不存在的边缘污染。

如果您确实需要记住此类信息,请使用单独的结构进行可访问性。