请问在算法分析里面,O(1)和O(2)有什么区别?

msdner 2004-09-05 10:33:48
如题。谢谢解答。
...全文
1681 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
msdner 2004-09-12
  • 打赏
  • 举报
回复
谢谢大家!谢谢FreeFice!
robertnet 2004-09-11
  • 打赏
  • 举报
回复
线型复杂度和平方复杂度
fanbest 2004-09-10
  • 打赏
  • 举报
回复
我们刚学到哎.

不过来晚了.
庄鱼 2004-09-10
  • 打赏
  • 举报
回复
如果一个程序从头到尾是一种线性函数串,中间不存在重复或相关函数,那么该程序就是无分支的程序记录O(1),如果出现类似if-else这样的句式,由于每个分支在实际处理上都是单独成立,其满足算法复杂度2时间复杂度为1,case的算法复杂度与分支数有关,但时间复杂度依然是1,因此通常用O(2)、O(3)等常数表示;for、while、do-while则是时间复杂度与循环的次数n有关,对程序的算法复杂度随比较的次数n也有关系,因此通常用O(n),n=X表示
junmayang 2004-09-06
  • 打赏
  • 举报
回复
差异很小
msdner 2004-09-06
  • 打赏
  • 举报
回复
To FreeFice(庄鱼)

O(1)O(2)通常是指含分支语句的情况,O(1)是指无分支语句O(2)是指含有2个分支的语句。


这个怎么理解呢?
haha52 2004-09-06
  • 打赏
  • 举报
回复
O(f(n)) 表示阶至多为f(n)的函数
msdner 2004-09-06
  • 打赏
  • 举报
回复
T
zhangfjj 2004-09-06
  • 打赏
  • 举报
回复
都是常量级
这个人高数没有学好
msdner 2004-09-06
  • 打赏
  • 举报
回复
UP
wwwtony110 2004-09-05
  • 打赏
  • 举报
回复
不懂~~~~我想没分别~~~
庄鱼 2004-09-05
  • 打赏
  • 举报
回复
O(1)O(2)通常是指含分支语句的情况,O(1)是指无分支语句O(2)是指含有2个分支的语句
qwerty2004 2004-09-05
  • 打赏
  • 举报
回复
O(2)就是O(k*1)当k=2时的情形

O(2)和O(1)都是表示常数级的时间复杂度
O(2)的时间复杂度因子为2
O(1)的时间复杂度因子为1

O(2)的算法比O(1)的耗时
虽然差异可能会被忽略掉
donrong 2004-09-05
  • 打赏
  • 举报
回复
应该是在王晓东的<<算法设计与分析>>吧,个人觉得在算法里面没有什么区别,但是可以根据其定义来说明一下就是 对同一个函数而言,可能存在的C和N0会有所不同
msdner 2004-09-05
  • 打赏
  • 举报
回复
我是在一本书上看到的:试论O(1)和O(2)的区别,我就郁闷了,不都一样的吗?难道有什么东西在里面?而且怎么得到O(2)这个东西?谢谢大家继续指导。
fishfly317 2004-09-05
  • 打赏
  • 举报
回复
复杂度为常数级!!
北极猩猩 2004-09-05
  • 打赏
  • 举报
回复
没有区别,大O函数忽略一切常数和低阶函数。
hcj2002 2004-09-05
  • 打赏
  • 举报
回复
算法的复杂度不同

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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