如果每对顶点之间正好存在一条路径,则称有向图是唯一连接的。如何识别图形是否具有此属性?这需要按顺序完成 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 的边的图形将是合法的。