繁体   English   中英

路径从“ s”到“ t”的有向图的多项式时间算法

[英]Polynomial Time Algorithm for directed graph with path from 's' to 't'

我的计算理论教科书有一个解释多项式时间算法的示例:

PATH = {[G,s,t] | G是有向图,具有从s到t的有向路径}。

PATH的多项式时间算法M的操作如下。 M =“在输入[G,s,t]上,其中G是带有节点s和t的有向图:

  1. 在节点s上标记。
  2. 重复以下步骤,直到没有其他节点被标记:
  3. 扫描G的所有边缘。如果找到从标记节点a到未标记节点b的边缘(a,b),则标记节点b。
  4. 如果标记了t,则接受。 否则,拒绝。”

然后,他们继续说明算法如何在多项式时间内运行:

显然,阶段1和4仅执行一次。 阶段3最多运行m次,因为除最后一次之外,每次都标记G中的另一个节点。因此,所使用的阶段总数最多为1 + 1 + m,从而得到G大小的多项式。

* m是图中的节点数

我的问题是,因为第一个节点在阶段1中被标记,所以阶段3最多不会运行m-1次而不是m次吗?

谢谢!

它最多运行m-1次,在其中标记s以外的其他节点,然后运行1次,没有发现要标记的其他节点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM