我目前正在做一些修改,特别是对 Big-O 表示法。我问了一个类似的问题(处理不同的算法),但我仍然不确定我是否走对了。
我正在研究的算法是穷举搜索(我相信又名蛮力),看起来像这样:
Input: G- the graph
n- the current node
p– the path so far
1) For every edge nm (from n to m) in G do
2) If m ∉ p then
3) p = p ∪ {m}
4) Exhaustive(G, m, p)
5) End If
6) End For
到目前为止,我得出的结果是这个算法O(n)
- 这是正确的吗?我怀疑它是,并且很想知道如何解决它;要查找什么,我每次“计数”的确切内容是什么,等等。我知道需要计算发生的操作数量,但这就是我需要注意/计算的全部吗?
编辑:我了解到这个算法实际上是O((n-1)!)
- 这是正确的,如果是这样,这个解决方案是如何产生的,因为我无法解决?