模拟卷 数据结构 复杂度分析 选择题
第 1 题

是描述问题规模的正整数,下列程序片段的时间复杂度是( )。

A. B. C. D.

复杂度分析

[tag_link]

正确答案:A

程序首先将变量 初始化为 的平方,即

然后进入 while 循环,循环条件为 ,每次迭代将 除以 。 循环的迭代次数取决于 减少到 所需除以 的次数。

设迭代次数为

,经过 次迭代后, 的值变为

当循环终止时, ,因此有 ,即 。 取对数可得

在时间复杂度分析中,常数因子可以忽略,因此迭代次数

的数量级为

所以,该程序片段的时间复杂度是 。 对比选项,A 正确。