我对大O符号的加法感到困惑。
我将创建一个算法来找到一个图的MST和一些学校问题的其他要求时间复杂度是O(E*log v),其中E是边数,V是图中顶点的个数。我得到了一个解,在o(e*log v)+o(v)中。
它是否认为O(E*log V)+O(V)=O(E*logv)?
谢谢你的回答!我假设连通图上的这种复杂性,在没有连接的图上,我的算法在O(E*log v)中工作。

最佳答案

对于任何x,可以生成一个具有x边和2ˣ(主要是断开连接的)顶点的图。
对于这样的图,E log V=x平方,so(V+E logv)/(E logv)=(2ˣ+x平方)/x平方。
随着x的增加,这个值无界增长,所以o(e log v)+o(v)与o(e logv)不同,即使对于图也是如此。
但是,如果指定连通图,则v=2,就有v+e logv连通图的O(E log V)=O(E logv)+O(V)。

09-11 05:20