|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 如何计算一个算法的时间复杂度
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
6635
人关注过本帖
标题:
如何计算一个算法的时间复杂度
只看楼主
加入收藏
fantasy_______
等 级:
新手上路
帖 子:83
专家分:0
注 册:2008-9-21
楼主
收藏
问题点数:0 回复次数:10
如何计算一个算法的时间复杂度
例如:
void fun(int n)
{
int i=0,j;
do
{
for (j=0;j<n;j++)
i+=j;
}while (i<n+1);
}
讲下详细的解题过程
搜索更多相关主题的帖子:
算法
时间
2008-11-14 09:48
举报帖子
使用道具
赠送鲜花
jdh99
来 自:南师大
等 级:
论坛游民
威 望:
1
帖 子:59
专家分:15
注 册:2008-11-7
第
2
楼
收藏
得分:0
O(n)
[[it] 本帖最后由 jdh99 于 2008-11-14 10:50 编辑 [/it]]
2008-11-14 10:47
举报帖子
使用道具
赠送鲜花
scheelite
等 级:
新手上路
帖 子:45
专家分:0
注 册:2008-11-5
第
3
楼
收藏
得分:0
如何计算一个算法的时间复杂度
题目就不明白什么意思
void fun(int n)
{
int i=0,j;
do
{
for (j=0;j<n;j++)
i+=j;
}while (i<n+1);
}
for(i=0;i<n+1;)
for (j=0;j<n;i+=j,j++);
这意思
[[it] 本帖最后由 scheelite 于 2008-11-14 11:04 编辑 [/it]]
2008-11-14 10:57
举报帖子
使用道具
赠送鲜花
风居住的街道
等 级:
新手上路
帖 子:374
专家分:0
注 册:2008-10-24
第
4
楼
收藏
得分:0
外循环无用,复杂度T(n)
2008-11-14 11:26
举报帖子
使用道具
赠送鲜花
网易
来 自:金星
等 级:
禁止访问
帖 子:193
专家分:0
注 册:2008-6-10
第
5
楼
收藏
得分:0
一般是计算
最内层循环的 那个对程序总运行时间贡献最大的 操作 的 执行次数
CPU的处理能力一般是每秒执行百万条指令
两者对照一下就可以粗略估计程序的运行时间
你可以试试估计一下汉诺塔(64层)程序的运算时间 2^64-1
2^10≈10^3
2^64≈16*10^18=16*10^12*10^6=310*16世纪
//执行10^6次条指令需1秒
10^8秒≈3.1年
10^10秒 ≈ 3.1世纪
[[it] 本帖最后由 网易 于 2008-11-14 12:55 编辑 [/it]]
答案是:雨中飞燕!
2008-11-14 11:50
举报帖子
使用道具
赠送鲜花
animation
等 级:
论坛游民
帖 子:34
专家分:20
注 册:2008-11-13
第
6
楼
收藏
得分:0
我承认我是菜鸟,算复杂度只想到求循环次数,而且是能看懂程序的前提下
算法复杂度.jpg
(105.25 KB)
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
只要功夫深铁杵磨成针
2008-11-14 12:45
举报帖子
使用道具
赠送鲜花
iFreeBSD
等 级:
业余侠客
威 望:
4
帖 子:474
专家分:236
注 册:2007-11-5
第
7
楼
收藏
得分:0
书上讲得很清楚也很详细。大O的定义和在数学分析中的定义是一样的。
without further ado, let’s get started
2008-11-14 15:04
举报帖子
使用道具
赠送鲜花
liqiangzk982
等 级:
论坛游民
帖 子:50
专家分:16
注 册:2006-12-20
第
8
楼
收藏
得分:0
O(n)
菜鸟我最大!
2008-11-14 17:45
举报帖子
使用道具
赠送鲜花
renhongjun
等 级:
新手上路
帖 子:21
专家分:0
注 册:2008-11-10
第
9
楼
收藏
得分:0
void fun(int n)
{
int i=0,j;
do
{
for (j=0;j<n;j++)
i+=j;
}while (i<n+1);
}
大哥,这程序好像太那个了
设n=4
循环
1 j=0
2 j<4
3 i=0+0
4 j=1
5 j<4
6 i=0+1
7 j=2
8 j<4
9 i=1+2
10 j=3
11 j<4
12 i=3+3
13 j!<4
退出for循环
i=6!<(n+1)=4
do循环只做了一次
这是啥意思
2008-11-14 17:47
举报帖子
使用道具
赠送鲜花
网易
来 自:金星
等 级:
禁止访问
帖 子:193
专家分:0
注 册:2008-6-10
第
10
楼
收藏
得分:0
[bo][un]风居住的街道[/un] 在 2008-11-14 11:26 的发言:[/bo]
外循环无用,复杂度T(n)
还没见过用T(n)表示复杂度的
T(n)表示时间的吧
O(g(n)) ⊙(g(n))
Ω(g(n)) 都见过了
不过很少见人用
答案是:雨中飞燕!
2008-11-14 18:25
举报帖子
使用道具
赠送鲜花
11
1/2页
1
2
快速回复:
如何计算一个算法的时间复杂度
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.019202 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved