新冠o29.73和n是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新冠o29.73和n是啥意思相关的知识,希望对你有一定的参考价值。

参考技术A 新冠o29.73和n是是N基因和ORF基因的意思。根据查询相关公开信息显示,新冠即新型冠状病毒,新型冠状病毒核酸检测结果中的N和O29.73,是指N基因和ORF基因。

O(1), O(n), O(n*n) 内存是啥意思? [复制]

【中文标题】O(1), O(n), O(n*n) 内存是啥意思? [复制]【英文标题】:what is the meaning of O(1), O(n), O(n*n) memory? [duplicate]O(1), O(n), O(n*n) 内存是什么意思? [复制] 【发布时间】:2012-01-03 22:51:14 【问题描述】:

可能重复:Plain English explanation of Big O

很多时候,当谈到算法的时间复杂度时,内存也会被考虑在内。我想知道big-O(1)、big-O(n)、big-O(n*n)内存是什么意思?

它与时间复杂度有什么关系?

【问题讨论】:

复制:***.com/questions/3739768/what-is-big-o-notation 衡量复杂性,而不是内存。 我猜你说的是“Big Oh”(或“Big O”)。以下***页面对此进行了相当详细的解释:en.wikipedia.org/wiki/Big_O_notation 你的意思是 o(n) 还是 O(n)?有很大的不同。 @NullUserExceptionఠ_ఠ:好吧,OP 确实明确要求空间和时间复杂度之间的关系,这里没有涉及。尽管我确实发现这个问题相当广泛,但我不会投票结束。 【参考方案1】:

正如 xmoex 所说:

o(1) 构成恒定的内存使用量。所以输入量是无关紧要的。

o(n) 构成线性内存使用。所以更多的输入意味着线性更多的内存。

o(n*n) 构成二次内存使用。所以更多的输入意味着更多的内存(平均 x^2。

在大多数情况下,这种内存复杂度度量完全独立于时间复杂度的度量。对于计算机算法,重要的是要知道算法将如何管理这两种复杂性以决定算法的质量。但是,两者必须分别计算。一个可能比另一个更重要,具体取决于您的用例和问题环境。

【讨论】:

-1 表示“完全独立”的备注。当一个算法占用 o(f(n)) 空间(即 little-o)时,它也需要 o(f(n)) 时间。 并非总是如此。是的,内存和时间可能存在相同的复杂性。然而,也有可能有一种算法需要的时间少于空间。空间复杂度可能为 o(f(n)),时间复杂度 > o(f(n))。 这是一个小问题,所以它是一个下限。 这又是不正确的。下界是 omega 而不是小写 omicron。 little-o 表示保证低于不低于或等于。 Big-O 表示 =,little-Omega 表示 >,theta 表示 =,而 ~ 表示所有广泛用途 =。 你说得对,我记错了。但是,“完全独立”仍然不正确。时间不能少于空间,至少在图灵机上是这样。【参考方案2】:

o(1) 表示恒定的平均内存使用量,与输入的大小无关 o(n) 表示如果您正在处理 n 个元素,您的平均内存需求会线性增长 o(n*n) 表示如果您有 n 个要处理的元素,您的平均内存需求将呈二次方增长

有一篇关于所谓的big o notation 的 wiki 文章(也包括很少的 o...)

【讨论】:

【参考方案3】:

内存方面的复杂性意味着在增加要处理的项目数量的同时所需的内存大小增长速度有多快。一个很好的例子是排序算法。

O(1)O(log n) 表示虽然对 N 项排序算法需要的内存少于为 N 项分配的总内存。 (AKA 就地排序) O(n) - 内存消耗是线性的,所以只要项目计数增长,内存消耗就会增长 O(n*n) 表示该算法需要更多的额外内存。

【讨论】:

“O(n * n) 意味着算法需要更多的额外内存” 非常模糊。最好指定它需要 二次元 的内存。仍然 +1 以便于解释。【参考方案4】:

这里大家已经解释了大O符号的含义。所以,我不打算再解释了。但我会简要解释一下。

以任何没有循环的小程序为例。

 int a=1;
print("%d",a);

这个程序的执行时间可以忽略不计。设申报和打印为单位时间。所以它的时间复杂度是O(1)

另一个循环运行n次的程序

int a,i;
long n=10000000;
for(i=0;i<n;i++)
    // doing some calculations

正如您在此处看到的,声明所需的时间可以忽略不计,即 O(1)。如果我们让第 4 行将花费一些时间单位,即 O(n)。那么,总的时间复杂度将是

O(1)+O(n)=O(n).

现在你可以理解 O(n*n) 即 2 个循环。

为了更好的理解……

在未排序的列表中找到一个项目 = O(n)

通过简单算法或冒泡排序将两个 n 位数字相乘 =O(n*n)

使用二分查找 =O(log n) 在有序数组中查找项目

蛮力推销员问题 = O(n!)

【讨论】:

【参考方案5】:

我不确定你的意思是 big-O 还是 little-O,但我会更笼统地回答。

它对记忆的意义与对时间的意义相同。如果一个函数在内存 O(1) 中增长,那么无论输入大小如何,它都会使用恒定数量的内存。如果一个函数在 O(n) 中增长,它使用线性量,而 O(n*n) 它使用二次量。

【讨论】:

以上是关于新冠o29.73和n是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

可居家自检的新冠病毒抗原检测来了,检测试剂的原理是啥?

时间为O(nlg n)的排序算法 如快速排序 堆排序 nlg是啥意思。好象是lgn。 啥意思?

ACM程序设计训练,里面的Time Limit和Memory Limit 是啥意思??怎么判断自己写的程序是不是符合限定条件

convention是啥意思

radio是啥意思

o和a是啥意思啊?