社区
数据结构与算法
帖子详情
o(1)与o(2)有什么区别?
迷你苑
2005-02-17 05:33:38
o(1)与o(2)有什么区别?
...全文
1719
18
打赏
收藏
o(1)与o(2)有什么区别?
o(1)与o(2)有什么区别?
复制链接
扫一扫
分享
转发到动态
举报
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
打赏
举报
回复
无
什么是时间复杂度? (O(1), O(log2n), O(n), O(n log2n), O(n2), O(n3))
什么是时间复杂度? (O(1), O(log2n), O(n), O(n log2n), O(n2), O(n3))
试讨论O(1)和O(2)的
区别
大O表示法的定义: O(g(n)) = { f(n) :存在这样的正常数c和n0,使得对任意的n >= n0, 有0 <= f(n) <= cg(n)成立},则g(n)是f(n)的渐进上界。 O(g(n))是指所有与g(n)具有相同增长率或比其增长率小的函数的集合。 根据大O定义易知,O(1) = O(2)。用O(1)和O(2)表示同一个函数时,差别仅在于常...
WSL 1 与 WSL 2 有什么
区别
?到底哪个更适合你
WSL 1 与 WSL 2 有什么
区别
?到底哪个更适合你 随着 windows 2004 更新即将推送,许多新的功能和特性也即将与大家见面。其中的 WSL 2 可以说是作为软件从业人员较为关注的一个新特性。WSL 1 于 2016 首次发布,在 windows 系统中带来令人惊叹 linux 体验,也被当做是微软拥抱开源的标志性举动。如今,对于一般的桌面程序的开发工作,WSL 1 已完全能够胜任,那么 WSL 2 又有哪些改进。 WSL 2 改变了什么 对于 WSL 1 来说,主要的缺点有: 文件 I/O
C语言编译的优化等级应该选哪个?O0、O1、O2还是O3
在使用IDE开发STM32程序时,IDE一般都会提供优化等级设置的选项,例如KEIL提供的O0、O1、O2和O3,这些不同的优化等级有什么
区别
,应该如何选择?
-O1 -O2 -O3 优化的原理是什么?
一般来说,如果不指定优化标识的话,gcc就会产生可调试代码,每条指令之间将是独立的:可以在指令之间设置断点,使用gdb中的 p命令查看变量的值,改变变量的值等。并且把获取最快的编译速度作为它的目标。 当优化标识被启用之后,gcc编译器将会试图改变程序的结构(当然会在保证变换之后的程序与源程序语义等价的前提之下),以满足某些目标,如:代码大小最小或运行速度更快(只不过通常来说,这两个目标是矛盾的,二者不可兼得)。 O1优化会消耗少多的编译时间,它主要对代码的分支,常量以及表达式等进...
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章