Math 大O(logn)对数基是e吗?
对于二进制搜索树类型的数据结构,我看到大O表示法通常被称为Ologn。对于log中的小写字母“l”,这是否意味着自然对数所描述的对数基数en?很抱歉问这么简单的问题,但我总是很难区分不同的隐含对数。从技术上讲,基数并不重要,但通常可以将其视为基数-2。实际上,基数是多少并不重要,因为大O符号通常只表示n的渐近最高阶,所以常数系数会下降。因为不同的对数底相当于一个常数系数,所以它是多余的Math 大O(logn)对数基是e吗?,math,binary-tree,complexity-theory,big-o,Math,Binary Tree,Complexity Theory,Big O,对于二进制搜索树类型的数据结构,我看到大O表示法通常被称为Ologn。对于log中的小写字母“l”,这是否意味着自然对数所描述的对数基数en?很抱歉问这么简单的问题,但我总是很难区分不同的隐含对数。从技术上讲,基数并不重要,但通常可以将其视为基数-2。实际上,基数是多少并不重要,因为大O符号通常只表示n的渐近最高阶,所以常数系数会下降。因为不同的对数底相当于一个常数系数,所以它是多余的 也就是说,我可能会假设对数基数为2。大O表示法不受对数基数的影响,因为不同基数中的所有对数都是,Oln n等于
也就是说,我可能会假设对数基数为2。大O表示法不受对数基数的影响,因为不同基数中的所有对数都是,Oln n等于olg n
一旦用big-O表示法表示,两者都是正确的。然而,在O多项式的推导过程中,在二进制搜索的情况下,只有log2是正确的。我想这个区别是你的问题的直觉启发 另外,就我的观点而言,编写Olog2 N更适合您的示例,因为它更好地传达了算法运行时的推导过程 在big-O表示法中,常量因子被删除。从一个对数基转换到另一个对数基需要乘以一个常数因子 由于一个常数因子,Olog N等于Olog2 N 然而,如果你能很容易地在你的答案中键入log2n,那么这样做更符合教学法。在二叉树搜索的情况下,在big-O运行时的派生过程中引入log2n是正确的
在将结果表示为大O表示法之前,差异非常重要。当推导通过大O表示法传递的多项式时,在应用O表示法之前,本例使用对数而不是log2 N是不正确的。一旦多项式用于通过大O表示法传达最坏情况下的运行时,使用什么对数无关紧要。是的,当谈到大O表示法时,基数无关紧要。然而,在计算上,当面对真正的搜索问题时,它确实很重要 当开发关于树结构的直觉时,了解二叉搜索树可以在logn时间内进行搜索是很有帮助的,因为这是树的高度——也就是说,在一个有n个节点的二叉树中,树的深度在logn基2上。如果每个节点都有三个子节点,则仍然可以在logn time上搜索该树,但以3为底对数。计算上,每个节点的子节点数量可能对性能有很大影响,例如: 享受吧
保罗两者都是正确的。想想这个
log2(n)=log(n)/log(2)=O(log(n))
log10(n)=log(n)/log(10)=O(log(n))
logE(n)=log(n)/log(E)=O(log(n))
首先,您必须理解函数fn为ogn意味着什么 形式定义是:*函数fn被称为Ogn iff | fn | k,其中C和k是常数* 因此,设fn=n的对数基数a,其中a>1,gn=n的对数基数b,其中b>1 注:这意味着值a和b可以是大于1的任何值,例如a=100和b=3 现在我们得到如下结果:n的log base a被称为n的Olog base b,iff | log base a of n | k 选择k=0,C=b的对数基数a 现在我们的方程如下所示:|对数基数a为n | 0 注意右边,我们可以操纵方程:=log base a of b*| log base b of n |=| log base b of n |*log base a of b=| log base a of b ^ log base b of n |=| log base a of n| 现在我们的方程如下所示:|对数基数a为n | 0 无论值n、b或a是什么,除了它们的限制a、b>1和n>0之外,该方程始终为真。 所以n的对数基a是n的对数基b,因为a,b不重要,我们可以忽略它们 您可以在此处看到YouTube视频:
你可以在这里读到一篇关于它的文章:但是很容易证明log_2 n在任何基a的log_a n中,所以我不确定如何使用基2更正确。感谢Kinopkio和bcat帮助它变得有用。起初写得不太好好吧,我补充了清楚性,但你认为我的回答可能会让人困惑,我确实很伤心。事实上,这里的大部分答案都没有考虑到OP的直觉,并试图教他很多。我对这场比赛不太感兴趣,我对教育学的低标准有点难过。在O多项式的推导过程中,在二进制搜索的情况下,只有log2是正确的-1.数学差。xn~Ofn的定义是存在一个常数c,使得所有n>n_0的c*fn