对程序的总复杂度求和时处理常量
Handling constants when summing total complexity of a program
我写了一个程序,在图上执行 BFS(广度优先搜索)。
程序的执行分为初始化阶段和算法阶段。
假设 V 是顶点数,E 是边数:
我已经计算出初始化的复杂度为 O(V+2E),算法的复杂度为 O(V+E)。
这种情况下整个程序的复杂度是多少?
会是O(V+E)
。常量在大 O 表示法中被忽略:
O(cf(x)) = O(f(x))
c*O(f(x)) = O(f(x))
当然,c
应该是一个常量。
我写了一个程序,在图上执行 BFS(广度优先搜索)。 程序的执行分为初始化阶段和算法阶段。 假设 V 是顶点数,E 是边数: 我已经计算出初始化的复杂度为 O(V+2E),算法的复杂度为 O(V+E)。 这种情况下整个程序的复杂度是多少?
会是O(V+E)
。常量在大 O 表示法中被忽略:
O(cf(x)) = O(f(x))
c*O(f(x)) = O(f(x))
当然,c
应该是一个常量。