Math 显示日志n+;bn=O(n对数n),与a和b无关

Math 显示日志n+;bn=O(n对数n),与a和b无关,math,big-o,Math,Big O,我需要帮助理解一个大问题。我明白了这个概念,并且已经做了一些练习题,但这一题让我很为难。 使用大O的定义,表明f(n)=anlogn+bn是O(nlogn)。(a,b>0) 我不知道如何找到C或N,因为如果常数A或B改变,那么C和N也必须改变?还是我看得不对? 我马上就要考试了,我真的想事先了解一下。 谢谢 因为A和B是常数,所以可以用A和B来表示C和N。例如,您可能会显示C=A+B和N>2A足以证明f(N)=O(N lgn)既然A和B是常数,那么就可以用A和B来表示C和N。例如,您可能会显示C

我需要帮助理解一个大问题。我明白了这个概念,并且已经做了一些练习题,但这一题让我很为难。

使用大O的定义,表明
f(n)=anlogn+bn
O(nlogn)。(a,b>0)

我不知道如何找到C或N,因为如果常数A或B改变,那么C和N也必须改变?还是我看得不对?

我马上就要考试了,我真的想事先了解一下。


谢谢

因为
A
B
是常数,所以可以用
A
B
来表示
C
N
。例如,您可能会显示
C=A+B
N>2A
足以证明
f(N)=O(N lgn)
既然
A
B
是常数,那么就可以用
A
B
来表示
C
N
。例如,您可能会显示
C=A+B
N>2A
足以证明
f(N)=O(N lgn)
也许我遗漏了一些东西,但这似乎不像Big-O的典型用法。您的函数是一个简单的数学函数,而不是一个算法。如果:

f(n)=anlog(n)+bn

然后,假设加号运算的复杂度可以忽略不计,则复杂度是(anlog(n))和(bn)中的较高者。因为b是常数,(bn)是O(n),同样地,a是常数,(anlog(n))是O(nlog(n))。

也许我遗漏了一些东西,但这看起来不像是Big-O的典型用法。你的函数是一个简单的数学函数,而不是算法。如果:

f(n)=anlog(n)+bn

然后,假设加号运算的复杂度可以忽略不计,则复杂度是(anlog(n))和(bn)中的较高者。因为b是常数,(bn)是O(n),同样地,a是常数,(anlog(n))是O(nlog(n))。

当你得到这样一个陈述时:

证明logn+bn=O(n logn)

你可以这样想:

对于a和b的任何选择,证明对数n+bn=O(n对数n)

这反过来意味着

对于a和b的任何选择,都有一些c和n0的选择,使得对数n+bn≤ 任意n的cn日志n≥ 不

换句话说,首先选择a和b,然后显示logn+bn=O(n logn)。你并不是要证明,在大O符号的定义中,不管a和b是什么,都有一个固定的c和n0,而是应该表明,无论有人如何选择a和b,你总是能够找到一个c和n0——这可能取决于a和b——这样,使用这些c和n0的选择,log n+bn=O(n log n)

要了解在本例中如何做到这一点,一个可能有用的观察结果是(假设我们的日志以2为基数),1≤ 日志n与日志n一样长≥ 2.因此,只要我们限制n,使n≥ 我们明白了

对数n+bn≤ 日志n+bn日志n=(a+b)n日志n

鉴于此,您知道如何选择c和n0吗?我们限制n,使n≥ 2,因此选择n0=2是有意义的。类似地,因为我们刚刚证明了对数n+bn≤ (a+b)n log n,我们可以选择c=a+b

你可以把这场争论看作是两个人之间的对话:

  • 其他人:我将选择a和b,但我不会告诉你它们是什么
  • :嗯,好的
  • 其他人:向我证明存在一个n0和c,使得log n+bn≤ cn日志n≥ 不
  • :当然!尝试选择c=a+b和n0=2。这样行吗
  • 其他人:嘿,你说得对!真管用
请注意,对话框从另一方选择a和b开始。这样,您可以定制c和n0的选择,以确保索赔有效。如果你试着先选择c和n0,他们总能找到a和b来打破它


希望这有帮助

当你听到这样一句话:

证明logn+bn=O(n logn)

你可以这样想:

对于a和b的任何选择,证明对数n+bn=O(n对数n)

这反过来意味着

对于a和b的任何选择,都有一些c和n0的选择,使得对数n+bn≤ 任意n的cn日志n≥ 不

换句话说,首先选择a和b,然后显示logn+bn=O(n logn)。你并不是要证明,在大O符号的定义中,不管a和b是什么,都有一个固定的c和n0,而是应该表明,无论有人如何选择a和b,你总是能够找到一个c和n0——这可能取决于a和b——这样,使用这些c和n0的选择,log n+bn=O(n log n)

要了解在本例中如何做到这一点,一个可能有用的观察结果是(假设我们的日志以2为基数),1≤ 日志n与日志n一样长≥ 2.因此,只要我们限制n,使n≥ 我们明白了

对数n+bn≤ 日志n+bn日志n=(a+b)n日志n

鉴于此,您知道如何选择c和n0吗?我们限制n,使n≥ 2,因此选择n0=2是有意义的。类似地,因为我们刚刚证明了对数n+bn≤ (a+b)n log n,我们可以选择c=a+b

你可以把这场争论看作是两个人之间的对话:

  • 其他人:我将选择a和b,但我不会告诉你它们是什么
  • :嗯,好的
  • 其他人:向我证明存在一个n0和c,使得log n+bn≤ cn日志n≥ 不
  • :当然!尝试选择c=a+b和n0=2。这样行吗
  • 其他人:嘿,你说得对!真管用
请注意,对话框从另一方选择