与同一主题相关我还有另一个问题,即要弄清楚N的素数。算法的工作方式是,在第一步中它排除了三分之一的数字,然后在第二步,它规则剩下的三分之一,直到我检查了所有。那我怎么弄清楚它的时间复杂性呢?它也会是N的顺序吗?我的意思是在第一步中我将剩下2/3个数字。然后在第二个我将删除1/3的2/3,依此类推。但是我该怎么做呢?我很困惑。
答案 0 :(得分:1)
假设你花费恒定的时间O(1)来“统治一个数字”,总的努力是
O(N * (1 + 2/3 + 4/9 + 8/27 + ...))
几何级数收敛到3,因此总的努力量为O(N)。