一个程序‘执行语句的次数’的问题

pass299 2009-11-20 08:41:52
下面的程序段中,执行S语句的次数为()
for(int i=1;i<n;i++)
for(int j=1;j<=i;i++)
S;

选项
(A)n的平方
(B)(n的平方)/2
(C)n(n+1)
(D)n(n+1)/2

书中的答案是选择
(D)
---P7.1
_______________
我的问题是:
n(n+1)/2是如何推导出来的,这个‘时间复杂度’是不是(n的平方)啊
...全文
209 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pass299 2009-11-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liuxiaobing2008 的回复:]
再加一点,你那个是不是写错了
for(int i=1;i <n;i++)
  for(int j=1;j <=i;j++)

[/Quote]

您说的对,是j
菜鸟二号 2009-11-20
  • 打赏
  • 举报
回复
时间复杂度为0(n2)
菜鸟二号 2009-11-20
  • 打赏
  • 举报
回复
楼上正解
liuxiaobing2008 2009-11-20
  • 打赏
  • 举报
回复
再加一点,你那个是不是写错了
for(int i=1;i <n;i++)
for(int j=1;j <=i;j++)
liuxiaobing2008 2009-11-20
  • 打赏
  • 举报
回复
是次数,不是时间复杂度
当i=1时,执行1次,当i=2时,执行2次…………
既可以得到表达式1+2+3+……+n
求和得n(n+1)/2

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧