社区
C语言
帖子详情
请教数据结构时间复杂度的问题
ldchbest
2002-07-13 01:02:15
下面程序段的时间复杂度是多少?
i=s=0;
while(s<n)
{i++; s+=i;}
本题出自李春葆的《数据结构(C语言篇)习题与解析》,上面给出的答案是O(n),但我觉得应该是O(n的平方根)。
望指教,多谢了!
...全文
527
30
打赏
收藏
请教数据结构时间复杂度的问题
下面程序段的时间复杂度是多少? i=s=0; while(s<n) {i++; s+=i;} 本题出自李春葆的《数据结构(C语言篇)习题与解析》,上面给出的答案是O(n),但我觉得应该是O(n的平方根)。 望指教,多谢了!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qhgary
2002-09-16
打赏
举报
回复
首先我要说O的定义中有一个“最接近”的上限问题,所以n虽然肯定满足,但显然不是O(n),其次我要说复杂度是什么可能都有,但是一般来说只看级别就可以。常用的是n n^2 n^3 n^(1/2) n^(1/3) n^(2/3) log(n) nlog(n)
1 知道属于哪个级就行了,没有必要算的那么精确的。
对于这个题目,我觉得应该是O(sqrt(n))级
sandrowjw
2002-09-16
打赏
举报
回复
后面那个答案是一样的吧,因为对于步长做线性变化不会影响算法的复杂度的。
sandrowjw
2002-09-16
打赏
举报
回复
我觉得楼主对,别全信书。
gscool
2002-09-16
打赏
举报
回复
我现在也在学数据结构,一起研究吧
我觉得应该是o(n),如果里面再嵌套一层循环得话才应该是o(n^2)吧
ldchbest
2002-09-15
打赏
举报
回复
再次感谢大家的帮助
ldchbest
2002-07-28
打赏
举报
回复
To fatalerror99
这确实应该属于算法的范畴,不过该题目就是从数据结构的书上拿下来的。
谢谢大家的踊跃发言,让我受益很深。好象可以给大家加分,可是我不会用。
fatalerror99
2002-07-22
打赏
举报
回复
纠正一下楼主的说法,时间复杂度是算法的概念,不是数据结构的概念。
lizhongkun
2002-07-22
打赏
举报
回复
1, o(sqrt(N))
2,
for(i=s=0;s<n;s=s+2*(i++));O(sqrt(n- ??? ))
if (n=(2 6 12 20 30 42 56 72 90 110*************)O(n
1 2 3 4 5 6 7 8 9 10
songbin21
2002-07-22
打赏
举报
回复
上两楼的程序,循环应该满足条件:0+2+4+……<n,则当0+2+4……==n时结束。
即:(1+m)m/2 = n/2 ps: m:循环次数
解方程,得m=(1+sqrt(1+4n))/2
即为时间复杂度。
我是这样认为的,不知道对不对。
atlantis13579
2002-07-21
打赏
举报
回复
呵呵,复杂度什么级都有
yuying
2002-07-21
打赏
举报
回复
不好意思,看错题目了。
复杂度是O(n),复杂度应该没有平方根级。
yuying
2002-07-21
打赏
举报
回复
复杂度当然是O(n).
只有一个循环, i++ , s+=i;是线性的,并没有嵌套循环,怎么会是O(n平方)呢。
atlantis13579
2002-07-21
打赏
举报
回复
yes,是O(n的平方根)
abcpanpeng
2002-07-21
打赏
举报
回复
是0(n)。
redleaves
2002-07-21
打赏
举报
回复
TO liangyan82(琰):
我想问一下,你这个n是什么?
如果是程序中的n的话,这个循环只有在n=1,2时为O(n),当n大于2时是无法循环到n次的,2n>i(i+1),i是这个循环运行的次数.怎么可能和n接近呢?
难道你的O(n)中的n是程序中的其它控制条件吗?
redleaves
2002-07-21
打赏
举报
回复
那么如果我把程序改为如下:
i=s=0;
while(s<n)
{i++; s+=2*i;}
这个程序的复杂度是多少?
怎么比较这个程序为原程序?
liangyan82
2002-07-21
打赏
举报
回复
我也有算过这个,应该是o(n)
tigerfox
2002-07-21
打赏
举报
回复
0(n) 对呀,你是怎么想的!
LeeMaRS
2002-07-20
打赏
举报
回复
i=s=0;
while(s<n)
{i++; s+=i;}
to 楼上 : 注意判断的条件是s这个累加器.
qchen
2002-07-20
打赏
举报
回复
按此程序,应执行:i=i+1,s=s+i,简单操作次数为n次
在下认为应该是O(n)
加载更多回复(10)
数据结构
各章例题和答案
数据结构
是计算机科学中的核心...总之,“
数据结构
各章例题和答案”是一份宝贵的资源,能够帮助你在
数据结构
的学习之路上不断进步,加深理解,提升
问题
解决能力。记得定期回顾和测试自己,让理论知识转化为实际技能。
数据结构
作业习题精选 电子科技大学
在
数据结构
作业中,可能会遇到各种
问题
,比如设计和分析算法的
时间复杂度
和空间复杂度,或者解决特定
问题
,如构建最小生成树、最短路径、查找和排序等。这些
问题
通常要求我们灵活运用不同的
数据结构
和算法,以达到...
南京邮电大学811
数据结构
考研模拟试卷二及参考答案
理解
数据结构
的
时间复杂度
和空间复杂度,进行算法效率分析。 通过模拟试卷的练习,考生可以熟悉考试的题型,提升答题速度,同时检查自己的知识盲点。参考答案的提供使得考生能够自我评估,及时纠正错误,加深对知识...
2013-2018年东南大学935计算机专业基础考研真题及部分参考答案
理解算法的
时间复杂度
和空间复杂度分析也是重要的考核点。 4. **计算机网络**:主要涵盖TCP/IP协议栈、网络层次结构、数据传输、网络安全等。考生应了解OSI七层模型与TCP/IP四层模型,以及HTTP、FTP、TCP、UDP等...
15浙大机试模拟赛解题报告+数据.zip
这其中包括了
数据结构
(如数组、链表、树、图等)、排序算法(快速排序、归并排序、堆排序等)、搜索算法(深度优先搜索、广度优先搜索、A*搜索等)以及动态规划等核心知识点。 其次,数据部分是模拟赛的实际测试...
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章