Big o 什么是算法中的常数因子和低阶项?

Big o 什么是算法中的常数因子和低阶项?,big-o,complexity-theory,Big O,Complexity Theory,在以下视频中,对渐近分析进行了解释: 但我不明白什么是“低阶项”和“常数因子”本身?(在视频的第四分钟) 合并排序是6n*log2(n)+6n。为什么这里6n是低阶项,而6是常数因子?这些术语有具体的定义吗?当big-O中的函数有几个术语时,可以保留增长较快的一个,因为它迟早会“隐藏”其他术语。你可以乘以任何常数 O(6.N.Lg(N)+6.N)与O(6.N.Lg(N))或O(N.Lg(N))或O(0.01.N.Lg(N)+42.sin(N)-1.745+1/N) 主导项总是N.Log(N)(

在以下视频中,对渐近分析进行了解释:

但我不明白什么是“低阶项”和“常数因子”本身?(在视频的第四分钟)


合并排序是
6n*log2(n)+6n
。为什么这里
6n
是低阶项,而6是
常数因子?这些术语有具体的定义吗?

当big-O中的函数有几个术语时,可以保留增长较快的一个,因为它迟早会“隐藏”其他术语。你可以乘以任何常数

O(6.N.Lg(N)+6.N)
O(6.N.Lg(N))
O(N.Lg(N))
O(0.01.N.Lg(N)+42.sin(N)-1.745+1/N)


主导项总是
N.Log(N)
(对数的基础并不重要)。

低阶项:

这里的“订单”是指订单

当处理非常简单的术语,如
x
x2
时,这个概念很容易理解和解释
x
具有数量级
1
,因为它可以写成
x1
,而
x2
具有数量级2-数量级等于项中变量的幂。但是当你通过添加
log
使事情复杂化时,事情会变得有点模糊(至少对我来说是这样)。[1]

在一些非正式的术语中,
f(x)
g(x)
低一级,如果
f(x)
因为
x
趋于无穷大

很容易看出,
f(n)=6n
g(n)=6n*log2(n)
低一级,只需用一个非常大的值替换
n
(正确的方法是从数学上证明它,但用一个大的值替换简单的术语往往有效)

基本上是由加号/减号分隔的事物

所以低阶项就是任何比其他项低阶的项

大概这是相反的,这是一个最大数量级的术语

[1] :我经常和big-O打交道,但我已经有一段时间(高中?)没有处理数量级的基本知识了,因此如果我可能错过或忘记了有关该部分的内容,请道歉

常数系数:

“因子”是乘法中的一个术语。对于
6n
6
n
是因素

常数因子就是不依赖于输入参数的任何东西(在本例中为
n


在这里,无论我们做什么,
n
6
将始终保持在
6
,因此它是不变的。

通常,你最好在论坛上问一些与课程相关的问题,其他学生可以帮助你解决任何你自己无法理解的问题

假设我们有一个多项式函数F(n)=5n³+8n+3,n³的指数最高,因此5n³是多项式的最高阶项。因此,所有其他术语都是低阶术语

现在,为什么它们不相关。好的,这是大O符号的定义


T(n)=O(F(n))如果我们能找到c和n0,比如对于所有的n>=n0t(n),请,algor
i
thms。是的,它们有具体的定义。你可以在任何算法入门教材中找到它们。@Christos,特别是哪本书?@GiorgiTsiklauri你可以看一看《我不认为这是一样的》的前两章。相反,如果F=O(6.N.Lg(N)+6.N),那么我们可以证明F也是O(N Lg(N))。