Big o 关于证明大O复杂性的建议

Big o 关于证明大O复杂性的建议,big-o,complexity-theory,Big O,Complexity Theory,我正在学习复杂性理论,我有一个问题要问一些Big-O陈述的真假 我已经完成了前几个步骤,例如,通过找到一个常数和n值,显示2^(n+1)在O(2^n)中。但现在他们要求的是更抽象的东西,例如: 如果f(n)是O(g(n)),那么log f(n)在O(log g(n))中吗 是O(2^(g(n))中的2^(f(n))) 这两个似乎都是真的,但我不知道如何用常量和N值正式表达它们。如果你能举个例子,说明我如何展示这些,我就可以解决剩下的问题。这些评论都是准确的。下面是一些您可能正在寻找的注释 假设f

我正在学习复杂性理论,我有一个问题要问一些Big-O陈述的真假

我已经完成了前几个步骤,例如,通过找到一个常数和n值,显示2^(n+1)在O(2^n)中。但现在他们要求的是更抽象的东西,例如:

如果f(n)是O(g(n)),那么log f(n)在O(log g(n))中吗

是O(2^(g(n))中的2^(f(n)))


这两个似乎都是真的,但我不知道如何用常量和N值正式表达它们。如果你能举个例子,说明我如何展示这些,我就可以解决剩下的问题。

这些评论都是准确的。下面是一些您可能正在寻找的注释


假设f(n)是O(g(n))。然后存在n0和c,使得f(n)=n0。取两边的对数。log(f(n))评论都是准确的。下面是一些您可能正在寻找的注释


假设f(n)是O(g(n))。然后存在n0和c,使得f(n)=n0。取两边的对数。log(f(n))第二个示例语句是错误的,试着想想反例。这个问题可能更适合于,因为它不是关于任何特定算法的时间复杂度,而是关于Big-O符号本身。实际上,在数学意义上,如果我们谈论任意函数,第一个语句也是错误的(例如,当
f->0
log f->oo
)。@dyukha Yes,我不想给出一个完整的答案。如果
f
被允许衰减为零,那么第一条语句也是错误的。但是,对于递增函数,它确实成立。第二个示例语句是错误的,请尝试想想反例。这个问题可能更适合于,因为它不是关于任何特定算法的时间复杂度,而是关于Big-O符号本身。实际上,在数学意义上,如果我们谈论任意函数,第一个语句也是错误的(例如,当
f->0
log f->oo
)。@dyukha Yes,我不想给出一个完整的答案。如果
f
被允许衰减为零,那么第一条语句也是错误的。但是,对于增加功能,它确实有效。