o(1)与o(2)有什么区别?

迷你苑 2005-02-17 05:33:38
o(1)与o(2)有什么区别?
...全文
1719 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
dext 2005-03-03
  • 打赏
  • 举报
回复
1 != 2
O(1) == O(2)
caesar22 2005-03-02
  • 打赏
  • 举报
回复
争什么啊,即然你用了大O来表示了,就不存在什么O(2),只有O(1)。

大O只区分质变,不区分量变。
hidejay 2005-03-02
  • 打赏
  • 举报
回复
应该让CPU来说
wlwlwl 2005-02-28
  • 打赏
  • 举报
回复
都是一个数量级别
arrowcy 2005-02-26
  • 打赏
  • 举报
回复
补充一下,O记号主要是用来比较当问题规模不断增大时,算法执行的基本操作的次数怎样变化,
所以上面那个分析可以看出如果非要将这个东西用来比较问题规模相同时的运行时间的话,是不一定能得到正确结果的
arrowcy 2005-02-26
  • 打赏
  • 举报
回复
这个o(1)和o(2)本来就是相同的
而真正运行时间却无法比较,完全可以把一个需要两个操作的算法的复杂度写成o(1)而把只需要一个操作的写成o(2)。况且复杂度比较的是基本操作的次数,但是通常并不限制基本操作需要多少时间 也没有限制基本操作只能有一种,
举一个例子,某类算法设计两种基本操作a和b,a需要100毫秒,b需要1毫秒,算法1要一个a操作三个b操作,算法2要两个a一个b,那么算法1是O(4),算法2的为O(3)?但是算法1要103毫秒,而算法2却要201毫秒。
fibbery 2005-02-25
  • 打赏
  • 举报
回复
hehe
jivi 2005-02-24
  • 打赏
  • 举报
回复
承认错误。犯了一个低级错误。的确是不一定是两倍。
rickone 2005-02-24
  • 打赏
  • 举报
回复
我觉得,楼上的不对,不一定是两倍的关系,可以说到底是什么关系是不知道的。
大O表示形式不是唯一的这一点要明确,比如f(n)=O(n)那f(n)=O(2n),所以我可以说图的遍历的时间复杂度为O(2n),这不是说我遍历要用平常我们的算法两倍的时间啊,它们是等价的,大O里面的东西不一定反应真正执行程序的时间,只是一个复杂度的描述,我们一般写成O(n)只是为了好看。
jivi 2005-02-22
  • 打赏
  • 举报
回复
在时间复杂级数是一样的。
但执行方法。肯定是第二个是第一个的两倍。不过不明显。无必要考虑。
就象我们在研究运动时没必要考虑分子和原子的区别一样。没意义了。城
dengsf 2005-02-20
  • 打赏
  • 举报
回复
没有。
楼主先说说 O 的定义吧。知道了定义结果就出来了。

如果按照上面所说的 o(1)跟O(2)不同 的逻辑来判断,
那 O(1)本身也不等于O(1)了。
迷你苑 2005-02-20
  • 打赏
  • 举报
回复
计算机算法设计与分析里,第一章的一个题目,我也不知道答案。。
jp1984 2005-02-19
  • 打赏
  • 举报
回复
恩,算法分析的角度来说确实是没有的,算法的big-O渐进记号中由定义忽略常数因子
2 = 2*1 ,所以O(1)和O(2)等价。
但实际的执行时间效率肯定会有差别的啊。
timgreen 2005-02-19
  • 打赏
  • 举报
回复
kongl123(kongl123) ( ) 信誉:100 2005-02-17 23:17:00 得分: 0


在写底层程序时,我不同意说“无”。
---------------------------------------------------------------------
按定义o(1) o(2)没有区别 你说的区别是1 和 2的区别
ilomus 2005-02-18
  • 打赏
  • 举报
回复
没有区别
kongl123 2005-02-17
  • 打赏
  • 举报
回复
在写底层程序时,我不同意说“无”。
xboxjacky 2005-02-17
  • 打赏
  • 举报
回复
的确没有!!

因为他们都是常数
NowCan 2005-02-17
  • 打赏
  • 举报
回复

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧