Kop o:O-表示法 O(∞)= O(1)(infinity notation)

所以一个快速的想法;有人能说 O(∞)实际上是 O(1)吗?

我的意思是它不依赖于输入大小?

所以在某种程度上,它是恒定的,尽管它是无限的。

或者是唯一的“正确”的方式来表达它 O(∞)?

12

Infinity 不是一个数字,或者至少不是一个real number,所以表达式的格式不正确。表达这一点的正确方法是简单地声明程序不终止。注意:程序,而不是算法,因为算法保证终止。

(如果你愿意,你可以在超限数字上定义 big-O 符号,我不确定这是否有任何用处。)

7

你的论点不太正确。

大 O 表示法忽略常数倍数;O(1)O(42)之间或O(log(n))O(3π log(n))之间没有区别。

标准惯例是不使用任何常数倍数。

然而,O(∞)意味着从不终止的“算法”,而不是O(1)将在某个点终止。

3

要回答这个问题:

O-表示法,O (∞) = O (1)?

No

主要区别在于 O(1)将在某个点结束,而 O(∞)永远不会结束。

它们都不包含变量,但具有两种不同的含义:

O(1)(或 O(121)或 O(无论什么,但不是无穷大):独立于函数参数,但结束

O(∞):独立于函数参数,并且非结束

正如在另一个答案中指出的那样,无穷大并不真正在大 O 符号的域中,但是简单的“不”当然仍然存在,O(1)和 O(∞)是不一样的。

0

Big-Oh 是衡量所需资源如何随着 N 的增加而扩展的度量。O(5 小时)和 O(5 秒)都是 O(1),因为随着 N 的增加不需要额外的资源。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(899)
界面编程:为什么Outlook编程界面给出的附件大小总是错误的
上一篇
电机编程:Arduino直流电机与伺服电机同步
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(32条)