O(log(log(n)))) - 竞争意味着什么?

时间:2009-05-30 10:00:12

标签: algorithm time-complexity

我正在浏览一些数据结构,我注意到这是一个时间复杂性:     的 O(日志(日志(N)))) - 。竞争性

我读到恒定竞争力是预期时间/最佳时间的比率。但是,拥有一套竞争力是什么意思?

2 个答案:

答案 0 :(得分:13)

在线算法是一种不提前知道其输入的算法,必须对某些不可预测的输入做出“反应”(在某种意义上)。相比之下,离线算法是预先知道其所有输入的算法。

竞争分析将最优在线算法的性能与最佳离线算法进行比较。因此,k竞争意味着存在离线算法,其执行最多比在线算法更差k倍。因此,O(lglgn)竞争意味着最优离线算法最多执行比最优在线算法更糟糕的lglgn(乘以常数)。


术语“k-竞争”可以与术语“k-近似”相同的方式来考虑。 k近似意味着近似算法执行最多比最优算法差k倍。

答案 1 :(得分:1)

This可以解释你的问题。

从以上链接:

  

设A是任何BST算法,定义   A(S)作为执行成本   序列S和OPT(S,To)为   执行序列的最低成本   S.如果算法A是T竞争的   对于所有可能的序列S,A(S)< =   T * OPT(S,To)+ O(m,n)。