| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6427 人关注过本帖
标题:时间复杂度:while循环
只看楼主 加入收藏
逐渐学习
Rank: 6Rank: 6
等 级:侠之大者
帖 子:113
专家分:454
注 册:2010-9-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
时间复杂度:while循环
i  =  n*n;
 while(i!=1)
    i = i / 2;
高手们帮忙说下复杂度吧。自己想了半天不会
搜索更多相关主题的帖子: 时间 
2011-01-17 20:03
丞相杀手
Rank: 6Rank: 6
等 级:侠之大者
帖 子:203
专家分:462
注 册:2011-1-11
收藏
得分:7 
O(以2为底数 n平方的对数)

斗不过疯子,不参与争论。
2011-01-17 20:10
马后炮
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:156
专家分:560
注 册:2010-12-17
收藏
得分:7 
O(logn)

樱之雪,晓之车
2011-01-17 20:15
逐渐学习
Rank: 6Rank: 6
等 级:侠之大者
帖 子:113
专家分:454
注 册:2010-9-26
收藏
得分:0 
回复 2楼 丞相杀手
怎么推导出的?

帮人《---》帮己
2011-01-17 20:16
丞相杀手
Rank: 6Rank: 6
等 级:侠之大者
帖 子:203
专家分:462
注 册:2011-1-11
收藏
得分:0 
循环需要的进行的次数m,满足:

2^m=n^2

斗不过疯子,不参与争论。
2011-01-17 20:19
丞相杀手
Rank: 6Rank: 6
等 级:侠之大者
帖 子:203
专家分:462
注 册:2011-1-11
收藏
得分:0 
符号^表示乘方

对于数据结构的知识,我了解的不是太多,我不知道O(n)和O(2n)是不是相同的意思,如果是的话,可以化简成
O(log n)

斗不过疯子,不参与争论。
2011-01-17 20:26
马后炮
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:156
专家分:560
注 册:2010-12-17
收藏
得分:0 
那个指数2没必要保留,直接写成O(logn)就行了,不需要加个平方

樱之雪,晓之车
2011-01-17 20:27
逐渐学习
Rank: 6Rank: 6
等 级:侠之大者
帖 子:113
专家分:454
注 册:2010-9-26
收藏
得分:0 
回复 5楼 丞相杀手
蛤蟆跳井---不懂,再详细点吧

帮人《---》帮己
2011-01-17 20:27
逐渐学习
Rank: 6Rank: 6
等 级:侠之大者
帖 子:113
专家分:454
注 册:2010-9-26
收藏
得分:0 
回复 7楼 马后炮
系数不用考虑,怎么导出的呢?

帮人《---》帮己
2011-01-17 20:29
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:7 
i  =  n*n;
while(i!=1)
    i = i / 2;
逆向思维
for(i=1;i<=n*n;)
{
  i = i*2;
}这个时间复杂度表示什么-就是2^n = m,那么2^n=m反函数就是log2 m =n,将程序反转来想就是 O(logm)

[ 本帖最后由 点线面 于 2011-1-17 20:36 编辑 ]
收到的鲜花
  • 逐渐学习2011-01-17 20:48 送鲜花  5朵   附言:我很赞同

小代码,大智慧
2011-01-17 20:33
快速回复:时间复杂度:while循环
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039879 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved