如何检测有向图是否唯一连接



如果每对顶点之间正好存在一条路径,则称有向图是唯一连接的。如何识别图形是否具有此属性?这需要按顺序完成 O(n+m) ,其中 n 是图的顶点数,m 是边。

很明显,图形中不应该有任何交叉边缘或前边缘。但是后缘呢?

如果每对节点之间只有一个有向路径,则

  • 每个节点必须至少有一个外边缘(否则没有从该节点到其他节点的路径)
  • 任何节点都不能有多个外边(如果从 X 到 Y 有一条边,从 X 到 Z 有一条边,并且有从 Y 到 T 和从 Z 到 T 的路径,那么从 X 到 T 有多条路径)

但是现在,由于每个节点只有一个外边缘,并且每个节点都可以从其他节点访问,因此图形必须是单个有向循环。

检查 O(n) 时间是微不足道的。

编辑:正如Erik P在评论中指出的那样,此论点仅适用于所讨论的路径是简单路径的情况。 本着同样的精神,大小为 3 的图形可能需要特殊处理,因为上面的 X-Y-Z-T 推理不适用,这意味着具有节点 X,Y,Z 和从 X 到 Y 和 Z 以及从 Y 和 Z 到 X 的边的图形将是合法的。

最新更新