编程论坛
注册
登录
编程论坛
→
C++教室
关于算法
fishviv
发布于 2010-10-12 23:10, 536 次点击
while(n>1)
n = ( n & 1 == 1 ? 3 * n + 1: n / 2);
疑问:
所谓复杂度是计算所有种类运算的次数的总和?还是只算乘除和比较.
2 回复
#2
御坂美琴
2010-10-13 08:17
复杂度指的是,计算量(时间)与所输入的数据所成的关系,而你这,和n本身没有确切的关系,所以这个复杂度不确定
你可以近似为logn,但一部分数据下,这个logn又显得太大了
#3
fishviv
2010-10-13 12:42
回复 2楼 御坂美琴
为什么会是log n ?
1