C++中如何用代码计算算法时间复杂度

比如voidf(intn){intsum=0;for(inti=1;i<n+1;i++){for(intj=n;j>i-1;j--){for(intk=1;k<j+1;k... 比如
void f(int n)
{
int sum=0;
for(int i=1;i<n+1;i++)
{
for(int j=n;j>i-1;j--)
{
for(int k=1;k<j+1;k++)
{
sum++;
}
}
}
cout<<"sum="<<sum;
}
这段代码的时间复杂度如何用代码计算,或者在哪里可以直接得到?
展开
 我来答
明月楼高5
2011-05-23 · TA获得超过403个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:188万
展开全部
计算复杂度一般是人工估计出来的,很少能用代码计算。对于你贴的代码,3个for循环,每一个循环执行的次数都和n有关,因此复杂度为O(n^3)。
你可能会说,第二层和第三层循环执行的次数并不是n,而是比n小。但这个从数量级上来说是和n一级的,而并不是比n更低的级别(例如常数级或logn级),所以估计时仍然算作n级,而不需要精确的认为是n/2之类的。
Sievers分析仪
2025-01-06 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
匿名用户
2011-05-30
展开全部
时间复杂度一般就是先计算运行次数最多的代码运行的次数,再与一个辅助函数相除求极限,这个辅助函数一般为,1,n,n*n等所以时间的复杂度就为:O(1),O(n),O(n^2)等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-05-23
展开全部
可以试着在程序的头尾两端记下时间,然后通过相减的方法,计算出时间!
更多追问追答
追问
请问怎样记时间呢?
追答
#include 好像是这个头文件(一定要写上时间的头文件)
float start_time = clock();这个放在你要计时间的程序的开始
float end_time = clock();这个放在你要计时间的程序的末尾
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
记录岁月书写年华cn8e1
2011-05-23
知道答主
回答量:88
采纳率:0%
帮助的人:23.4万
展开全部
zhe这个好难啊。。。我做不到啊。。。我们现在才学C语言程序设计;。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

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

说明

0/200

提交
取消

辅 助

模 式