素数的线性筛法时间复杂度为( )。
埃氏筛法:从2开始标记倍数为合数,O(n log log n)。线性筛(欧拉筛):每个合数只被最小质因子标记一次,O(n)。线性筛效率更高。
分析复杂度时注意外层循环和内层循环的关联。例如内外两层都到n的循环不一定是O(n²),要看内层是否每次都在缩小。
【考点】线性筛法|时间复杂度分析|最小质因子筛选
GESP 五级《算法》模块,数论专题。命题人卡住的是死记硬背"筛法=O(n log log n)"的同学——线性筛是五级才要求的进阶内容,四级只考埃拉托斯特尼筛,这道题就是筛法进阶的"拦路虎"。