我正在浏览一些数据结构,我注意到这是一个时间复杂性: 的 O(日志(日志(N)))) - 。竞争性
我读到恒定竞争力是预期时间/最佳时间的比率。但是,拥有一套竞争力是什么意思?
答案 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)。