问题标签 [big-o]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
316 浏览

big-o - 找到此功能的增长顺序的正确方法是什么?

2^n + 6n^2 + 3n

我想这只是 O(2^n),使用最高阶项,但是证明这一点的正式方法是什么?

0 投票
6 回答
4501 浏览

algorithm - 排序算法的效率

我正在为明天的一次非常重要的面试做准备,但有一件事我遇到了很多麻烦:排序算法和 BigO 效率。

知道什么数字很重要?最佳、最差或平均效率?

0 投票
1 回答
1371 浏览

algorithm - 数据结构 - 渐近分析 (C++)

有谁知道我在哪里可以找到组织良好的基本数据结构的渐近分析(可能是一张表,但不是必须的)。我想刷新我对数据结构以及搜索和排序算法的理解。所以我正在寻找最好的,平均。和最坏的情况。

如果它包含 STL 就不会受到伤害。

0 投票
1 回答
2021 浏览

big-o - 计算 Theta(紧界)估计

我只是想知道是否有人可以向我解释一下。我想知道如何使用积分或截断绑定方法计算 Theta 函数的估计值。

例如,您将如何计算:

∑<sub>i=1..ni⋅sqrt(i)+1

0 投票
24 回答
19302 浏览

performance - O(log N) == O(1) - 为什么不呢?

每当我考虑算法/数据结构时,我倾向于用常量替换 log(N) 部分。哦,我知道 log(N) 会发散——但这在现实世界的应用程序中重要吗?

对于所有实际目的,log(infinity) < 100。

我真的很好奇现实世界中这不成立的例子。

澄清:

  • 我理解 O(f(N))
  • 我很好奇现实世界的例子,其中渐近行为比实际性能的常数更重要。
  • 如果 log(N) 可以替换为常数,则它仍然可以替换为 O(N log N) 中的常数。

这个问题是为了(a)娱乐和(b)收集论据,如果我(再次)陷入关于设计性能的争议。

0 投票
2 回答
275 浏览

big-o - 程序运行时硬件问题

输入大小为 100 的算法需要 0.5 ms 秒,如果输入大小为 500 且程序为 O(n lg(n)),则运行需要多长时间?

我的书说,当输入大小加倍时,n lg(n) 需要“略多于两倍的时间”。这对我帮助不大。

我一直这样做的方式是求解常数乘数(这本书没有谈到,所以我不知道它是否有效):

.5ms = c * 100 * lg(100) => c = .000753

所以

.000753 * 500 * lg(500) = 3.37562ms

这是计算运行时间的有效方法吗,有没有更好的方法来计算它?

0 投票
3 回答
806 浏览

big-o - 代码片段的渐近分析

我需要找到以下片段的大 O 运行时间:

我知道外循环是 O(n) 但我在分析内循环时遇到问题。我认为它是 O(log n)。

0 投票
31 回答
20832 浏览

algorithm - O(nlogn) 算法 - 在二进制字符串中找到三个均匀间隔的

我昨天在算法测试中遇到了这个问题,但我无法弄清楚答案。这让我非常抓狂,因为它值 40 分左右。我认为大多数班级都没有正确解决它,因为我在过去 24 小时内没有提出解决方案。

给定一个长度为 n 的任意二进制字符串,如果存在的话,在字符串中找出三个等距的字符串。编写一个算法,在 O(n * log(n)) 时间内解决这个问题。

所以像这样的字符串有三个“均匀间隔”的字符串:11100000、0100100100

编辑:它是一个随机数,所以它应该能够适用于任何数字。我给出的例子是为了说明“均匀分布”的属性。所以 1001011 是一个有效的数字。1、4和7是均匀分布的。

0 投票
7 回答
50122 浏览

math - 大 O(logn) 日志是 e 吗?

对于二叉搜索树类型的数据结构,我看到大 O 表示法通常记为 O(logn)。在 log 中使用小写的“l”,这是否意味着自然对数所描述的 log 底 e (n)?很抱歉这个简单的问题,但我一直无法区分不同的隐含对数。

0 投票
3 回答
245 浏览

function - 给定函数的复杂度

当我分析下面代码段的复杂度时,我发现它是O(n/2)。但是在搜索互联网时,我发现它可能是O(n)。我想知道谁是正确的。