我得到的Directed Graph未加权。如果仅沿着边缘的方向行进,如果给出一个顶点,我想知道是否每个其他顶点都可以到达。如果图表是Complete Graph,这很明显。我对图表不完整的情况感兴趣。
就实现而言,我将每个连接存储在multimap
中。 multimap
关键边缘multimap
值是边头。所以说我有以下几对:
在此图中,如果1是给定节点,则可以直接或间接地到达每个节点。如果另一对被添加到multimap
:( 5,3)5将不能直接或间接地从1到达,也不能从3到达任何节点,因此该图中的给定节点不能到达所有其他节点。
我的问题是:如果我正在使用此图表测试是否单个节点可以到达所有其他节点,我是否应该向multimap
添加边缘以使所有间接连接直接进行,然后检查所有节点是否都连接到给定节点?或者有更好的方法吗?
答案 0 :(得分:0)
所以你使用multimap作为邻接列表?如果两个节点可以相互连接,您是否在问我们是否应该在此列表中插入邻接?我强烈建议不要这样做。如果以后要执行任何图形遍历,您的结构将被实际上不存在的边缘污染。
如果您确实需要记住此类信息,请使用单独的结构进行可访问性。