Graph 正确或错误->;O(m+;n)=O(m)
让Graph 正确或错误->;O(m+;n)=O(m),graph,asymptotic-complexity,Graph,Asymptotic Complexity,让 m=图中的边数 n=图中的顶点数 假设图G(V,E)是无向连通的 我所做的是用(n*(n-1)/2替换m,因为这是节点数量方面的最大可能边 所以我发现这是真的 但是,真正的答案是错误的 有人能从概念上解释一下,与大的Oh复杂性相比意味着什么吗?我认为你的想法是正确的,只有一个例外。 你能确定在两个相同的垂直面之间不能有两条或多条边吗?所以这个图不是多重图? 否则m=X*(n*(n-1))/2其中X可以增长到无穷大,这是问题中的一个新变量。那么复杂性将类似于O(X*n*n) 无论如何,该方
- m=图中的边数
- n=图中的顶点数
有人能从概念上解释一下,与大的Oh复杂性相比意味着什么吗?我认为你的想法是正确的,只有一个例外。 你能确定在两个相同的垂直面之间不能有两条或多条边吗?所以这个图不是多重图? 否则
m=X*(n*(n-1))/2
其中X
可以增长到无穷大,这是问题中的一个新变量。那么复杂性将类似于O(X*n*n)
无论如何,该方程仍然是正确的,因为第一条中的
+n
仍然可以省略(因为二次函数“过充电”为线性函数) 边数m
以
m <= (n*(n-1)/2)
这意味着问题中的推理会让步
m+n <= (n^2-n)/1+n = O(n^2)
m+n答案:true
图形是连接的=>m>=n-1
=>m=n-1+k
,其中k>=0
但是m inf)n/k=0
a=O(k(2n/k+1))=O(k)
b=O(k(n/k+1))=O(k)
lim(n->inf)n/k=常数
a=O(2*常数*k+k)=O(另一个常数*k)=O(k)
b=O(常数*k+k)=O(另一常数*k)=O(k)
lim(n->inf)n/k=inf
=>lim(n->inf)k/n=0
a=O(n(2+k/n))=O(2n)=O(n)
b=O(n(1+k/n))=O(n)
所以,在任何情况下,这都是正确的。是k
连接组件的数量吗?我不完全理解你的意思。图是连接的,所以只有一个组件。我知道,k
是超出连接所需最小数量的边数。没错!为了更清楚,我在帖子中添加了你的解释。
m+n <= (n^2-n)/1+n = O(n^2)
O(m+n) = O(n-1+k+n) = O(2n-1+k) = O(2n+k) = a
O(m) = O(n-1+k) = O(n+k) = b