for+n=a(2:end,:)循环次数怎么算的

1个回答
展开全部
咨询记录 · 回答于2024-01-08
for+n=a(2:end,:)循环次数怎么算的
我们把算法所耗费的时间定义为该算法每条语句的频度之和: T(n) = 2n^3 + 3n^2 + 2n + 1 1. 若循环执行一次:i = 1 * 2 = 2 2. 若循环执行一次:i = 2 * 2 = 2^2 3. 若循环执行一次:i = 2 * 2 = 2^3 4. 若循环执行X次:i = 2^x 设语句 i + i * 2 执行次数为x次, 由循环条件i <= n,所以 2^x <= n,所以 x <= log_2 n 2f(n) <= n,即 f(n) <= log_2 n,取最大值,f(n) = log_2 n, 所以该程序段的时间复杂度T(n) = O(log_2 n)。
已赞过
你对这个回答的评价是?
评论 收起
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消