某算法O(|E|log|E|) VS O(|E|log|V|) GRAPHS
A certain algorithm O(|E|log|E|) VS O(|E|log|V|) GRAPHS
设 G = (V,E) 为图。
让|V|节点数和|E|边的数量。
某个算法需要 O(|E|log|E|) 而另一个 O(|E|log|V|)。
就复杂性而言,哪个更有效(更可取)?为什么?
对于一般图,具有运行时限制的算法 O(|E| log |V|)
更可取(关于渐近运行时复杂度),因为 |E| <= |V|^2|
成立。如果 n
是节点数,则第一个算法的运行时界限可以表示为
O(n^2 log n^2)
而第二个的运行时界限可以表示为
O(n^2 log n)
哪个小
设 G = (V,E) 为图。 让|V|节点数和|E|边的数量。 某个算法需要 O(|E|log|E|) 而另一个 O(|E|log|V|)。 就复杂性而言,哪个更有效(更可取)?为什么?
对于一般图,具有运行时限制的算法 O(|E| log |V|)
更可取(关于渐近运行时复杂度),因为 |E| <= |V|^2|
成立。如果 n
是节点数,则第一个算法的运行时界限可以表示为
O(n^2 log n^2)
而第二个的运行时界限可以表示为
O(n^2 log n)
哪个小