大哦符号(如何写一个句子)

时间:2011-07-05 04:03:12

标签: math computer-science big-o asymptotic-complexity

我对渐近符号进行了测试,并且有一个问题:

请考虑以下事项:

  

O(o(f(n))= o(f(n))

  1. 使用渐近符号的约定,用文字写出语句的含义。
  2. 该陈述是真还是假?对齐。
  3. 我弄错了(不记得我写的是什么),但我认为是这样的:

      

    对于任何函数g(n)= o(f(n)),那里   是函数h(n)= o(f(n))所以   h(n)= O(f(n))。

    这是对的吗?

    而对于(2),我并不完全确定。有人可以帮我这个吗?

    提前致谢。

3 个答案:

答案 0 :(得分:1)

我认为他们试图提出一个关于Big O和小o渐近符号之间关系的问题。

A)Little O bounded函数的大O边界减少到/实现了该函数的Little O界限。

B)是的。 Big O是一个不那么“严格”的界限,因为它规定有一个M和一个x0使得f(n)<= M * g(n)对于x> = x0,而Little O规定所有正M,有一个x0,使得f(n)由M * g(n)上界。

因此,大O的“an M”是小O的“全M”的子集,因此O(o(f(n))等价于o(f(n))。

对于实际的数学而不是我的弱ascii,请参阅wikipedia page

答案 1 :(得分:0)

简明英文的含义: 严格大于f(n)的函数的上界严格大于f(n) 您的陈述可以写成:对于任何函数g(n)= o(f(n)),存在h(n)= O(g(n)),这意味着h(n)也是o(f(n) ))=&gt; O(g(n))= o(f(n))=&gt; O(o(f(n)))= o(f(n)) 是的,声明是正确的。 (当然上面的陈述假设所有正确的常量和“严格更大的使用是可读性和理解:它应该是”严格的上限“)

答案 2 :(得分:0)

对不起,如果这看起来有点偏僻,但我认为这是一个狡猾的问题(正如亚历山大C提到的那样),因为这是一个相当大的滥用符号。

通常教授big-O符号的方式(特别是在计算机科学课中)就好像O(f(n))是一个函数。这应引起一些警钟,因为语句“n = O(n)”和“2n = O(n)”都是正确的,但“n = 2n”则不是。如果我们想说“f(n)是g(n)的大-O”,我们技术上不应该说“f(n)= O(g(n))”,而应该说“f(n) ) O(g(n))“的元素。前者只是一种方便的简写。

回到实际的问题,O(o(f(n)))并不是真正的意义(或者至少我从未见过一组函数的大O的正式定义) 。但我想解释它的合理方式是按照enjay的答案,g(n)= o(f(n))。