社区
数据结构与算法
帖子详情
下列程序的时间复杂度?
ydyd
2003-04-11 06:39:31
int i;k=0;n=100;
do{
k=k+10*i;
i=i++;
}while(i!=n);
我觉得是O(n)而书上答案是O(1),到底是那个呢?
...全文
143
14
打赏
收藏
下列程序的时间复杂度?
int i;k=0;n=100; do{ k=k+10*i; i=i++; }while(i!=n); 我觉得是O(n)而书上答案是O(1),到底是那个呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pig_liang
2003-04-15
打赏
举报
回复
我觉得这问题本身有一定的问题。
int i;//你能知道i 的初始值?
如果 int i=0;的话,没话说它的时间复杂度是O(n).
DavidBone
2003-04-15
打赏
举报
回复
ding
BlueSky2008
2003-04-15
打赏
举报
回复
O(n)
ppm07
2003-04-14
打赏
举报
回复
那请问这道题如何改,答案才是O(n)呢?
laoli
2003-04-14
打赏
举报
回复
o((n+10)*i)
azuretttc
2003-04-14
打赏
举报
回复
void f(int n)
{
int i;k=0;
do{
k=k+10*i;
i=i++;
}while(i!=n);
}
这样就可以了吧!不过实在是没什么意义!
wwzzgg
2003-04-14
打赏
举报
回复
按道理讲应为O(n),但时间复杂度应在n是变量的前提下才符合常规。不要理它,出题者水平实在低下。
azuretttc
2003-04-13
打赏
举报
回复
呵呵,是O(1)啦,这N等于是个常量嘛!
i = ++((i++)+(++i)+(i++));
printf("%d", ++(i++));
这种题的确无聊,而且不同的编译器有不同的答案
ydyd
2003-04-12
打赏
举报
回复
我也觉得无聊,但是不知道考研会不会这样考。
ZhangYv
2003-04-12
打赏
举报
回复
比如一题:
i = ++((i++)+(++i)+(i++));
printf("%d", ++(i++));
ZhangYv
2003-04-12
打赏
举报
回复
这种考题最无聊!如果是我肯定答O(n),虽然会错...
Wugifer
2003-04-11
打赏
举报
回复
如果 n 是定值而不是描述问题规模的变量,就是 O(1)
Riemann
2003-04-11
打赏
举报
回复
O(n)
zyplwt
2003-04-11
打赏
举报
回复
我也认为是o(n)
怎么计算我们自己
程序
的
时间复杂度
▲点击上方"网管叨bi叨"关注公众号知道自己写的
程序
的
时间复杂度
,有利于我们写出能够高效运行的
程序
。
程序
是由一个个函数组成的,有些简单的由几个基础运算组成的函数大家一眼就能看出来它的
时间复杂度
,但是大部分函数没那么简单,只要函数里面涉及到了循环、外部函数调用甚至递归的时候它的
时间复杂度
就没那么容易分析啦。这篇文章的内容,可以帮你快速推导出
程序
代码的
时间复杂度
。要分析
程序
的
时间复杂度
,首先还是要确...
程序
的
时间复杂度
计算
很多时候一眼就能看出
程序
的
时间复杂度
,但是遇到复杂的就需要将其过程推导出来,为此总结以下两种形式 一、循环主体中的变量参与循环条件的判断 找出主体语句中与T(n)成 正比的循环变量,带入进行计算,例如: int i = 1; while(i i = i*2; 其中i*2的次数与T(n)成正比,则2的T(n)次方 二、循环主体中的变量与循环条件无关 可采用数
为啥我的
程序
超时?随便谈谈
时间复杂度
为啥我的
程序
超时?随便谈谈
时间复杂度
我读的书很少,所以这篇文章纯粹代表我个人的见解而非官方的定义以及绝对正确的认知。不过我也知道自己读的书很少,所以在需要得到官方定义以及更加准确的认知的话,我会奉上传送门。 为啥我们的
程序
会超时,那么显然,如果你的
程序
的运算的指令太太太太太太多了,计算机不能一下子跑完所有的指令,那么sicily妹子就会强行终止你的
程序
,返回Ti
如何看
程序
的
时间复杂度
?
程序
=数据结构+算法(such as数组/链表),数组:因为需要一段连续的内存空间,所以,查询比较方便【直接通过下标查询】,增删不方便,很麻烦,增加的时候需要移动;删除的时候也不能删除某个空间,只能做覆盖操作链表:存储地址不连续,插入新元素/删除很方便,所以如果数据需要大量做增删操作,需要用链表算法:解决问题的方案算法好坏的评判标准是什么?一般不会考虑空间复杂度【空间嘛,多买内存条/4G卡这些就好啦】,所以更看重
时间复杂度
;
时间复杂度
是 数据总量n和计算次数y之间的关系式。
优化
程序
时间复杂度
优化
程序
时间复杂度
(1)读写优化 快读与快写 快读: 这里用getchar()代替scanf,利用getchar()将数字读入,第一个字符判断一下数字的正负,然后每读入一个数字就将当前数*10并加上它,若不是数字,就结束读入。 inline int read() { int p = 1, a = 0; char c = getchar(); while(c < '0' ||...
数据结构与算法
33,025
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章