我的计算理论教科书有一个解释多项式时间算法的例子:
PATH = {[G,s,t] | G是一个有向图,它有一条从s到t的有向路径。
PATH的多项式时间算法M如下操作。 M =“On input [G,s,t],其中G是具有节点s和t的有向图:
然后他们继续解释算法如何在多项式时间内运行:
显然,第1阶段和第4阶段只执行一次。阶段3运行最多m次,因为除了最后一次它标记了G中的附加节点。因此,使用的阶段总数最多为1 + 1 + m,给出大小为G的多项式。
* m是图中的节点数
我的问题是,第3阶段不会运行 m-1 次而不是m次,因为第一个节点在第1阶段被标记?
谢谢!
答案 0 :(得分:1)
它最多运行m-1次,它标记除s之外的其他节点,然后是1次,它找不到要标记的其他节点。