大O符号的更高值是为了方便还是更简单?
例如:我正在研究这个算法“双裂缺口雕刻”简单地解释了here(第66页)如果我正确地理解,算法将采取任何间隙大小n最大的sum from 1 to n,但在同一文档中,它表示:
该技术不适用于具有较大间隙的碎片文件。如果n是bh和bz之间的集群数,那么在最坏的情况下,可能需要n^2个对象验证
在成功恢复之前
所以我的问题是:我是否理解算法错误,或者最坏情况下的运行时被舍入到n^2以使其看起来比求和更好?

最佳答案

回答实际的问题:是的,这不仅是普遍的,而且相当普遍o(n*n)表示对于某些未指定的c,度量值(通常是运行时)的上升速度不超过c*n*n。显然n*n+n随着n的上升小于2*n*n,所以o(n*n+n)就是o(n*n)。

08-27 05:30