问题标签 [algorithm]

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 投票
1 回答
335 浏览

algorithm - 您如何构建评级实施?

在我们正在进行的项目中,我们需要一个“评级”系统,类似于 SO 中的系统。但是,在我们的系统中,有多个实体需要通过投票来“标记”(仅向上,从不向下,就像增量一样)。有时我们需要按照评分最高的顺序显示所有实体,不管实体类型如何,我猜基本上是混合结果集。您使用什么数据结构/算法来实现这一点,以便灵活且仍可扩展?

0 投票
11 回答
23208 浏览

algorithm - 在列表中查找单个数字

在所有其他数字恰好出现两次的列表中查找仅出现一次的数字的最佳算法是什么。

所以,在整数列表中(让我们把它当作一个数组)每个整数都重复两次,除了一个。要找到那个,最好的算法是什么。

0 投票
6 回答
84621 浏览

algorithm - 什么是高通和低通滤波器?

图形和音频编辑和处理软件通常包含称为“高通滤波器”和“低通滤波器”的功能。这些到底是做什么的,实现它们的算法是什么?

0 投票
4 回答
364 浏览

algorithm - 跟踪字符串中特定字符索引的最有效方法是什么?

以下面的字符串为例:

“敏捷的棕色狐狸”

现在 quick 中的 q 位于字符串的索引 4 处(从 0 开始),而 fox 中的 f 位于索引 16 处。现在假设用户在该字符串中输入了更多文本。

“速度极快的深褐色狐狸”

现在 q 在索引 9 处, f 在索引 26 处。

无论用户添加多少个字符,在 quick 和 fox 中跟踪原始 q 的索引的最有效方法是什么?

语言对我来说无关紧要,这更像是一个理论问题,所以使用任何你想要的语言,尽量让它保持普遍流行和当前的语言。

我给出的示例字符串很短,但我希望有一种方法可以有效地处理任何大小的字符串。因此,使用偏移量更新数组将适用于短字符串,但会因许多字符而陷入困境。

即使在示例中我正在寻找字符串中唯一字符的索引,我也希望能够在不同位置跟踪相同字符的索引,例如棕色的 o 和狐狸的 o。所以搜索是不可能的。

我希望答案既节省时间又节省内存,但如果我必须选择一个,我更关心性能速度。

0 投票
7 回答
2065 浏览

algorithm - 这个最小生成树算法正确吗?

最小生成树问题是采用连通加权图并找到其总权重最低的边的子集,同时保持图连接(并因此产生无环图)。

我正在考虑的算法是:

  • 查找所有循环。
  • 从每个循环中删除最大的边缘。

这个版本的推动力是一个仅限于“规则满足”的环境,没有任何迭代构造。它也可能适用于疯狂并行的硬件(即,您希望并行度比周期多几倍的系统)。

编辑:

以上以无状态方式完成(在任何循环中不是最大边的所有边都被选中/保留/忽略,所有其他边都被删除)。

0 投票
3 回答
6543 浏览

perl - Perl 中是否有 n 叉树实现?

我正在编写一个 Perl 脚本并想使用一个 n 元树数据结构。

是否有一个很好的实现可以作为源代码(而不是 Perl 库的一部分)?

0 投票
11 回答
24135 浏览

algorithm - 真随机数发生器

抱歉这不是一个“真正的”问题,但有时我记得在这里看到一篇关于随机化随机化器以生成真正随机数的帖子,而不仅仅是伪随机数。如果我搜索它,我看不到它。

有人知道那篇文章吗?

0 投票
9 回答
83262 浏览

algorithm - 什么是生成迷宫的好算法?

假设你想要一个 N x M 网格上的简单迷宫,有一条路径,有很多死角,但这看起来“正确”(即,就像有人手工制作的那样,没有太多小的死角等等)。有没有已知的方法可以做到这一点?

0 投票
12 回答
41923 浏览

algorithm - 优化康威的“生命游戏”

为了进行实验,我(很久以前)实现了康威的生命游戏(我知道这个相关的问题!)。

我的实现通过保留 2 个布尔数组来工作,代表“最后一个状态”和“正在更新的状态”(每次迭代时交换 2 个数组)。虽然这相当快,但我经常想知道如何优化它。

例如,一个想法是在迭代 N 时预先计算可以在迭代 (N+1) 时修改的区域(这样如果一个单元不属于这样的区域,它甚至不会被考虑在迭代(N+1))。我知道这很模糊,我从来没有花时间去详细说明......

您对如何优化(以提高速度)生命游戏迭代有任何想法(或经验!)吗?

0 投票
15 回答
5185 浏览

algorithm - 状态机适用于哪些类型的问题?

状态机最适合解决什么样的编程问题?

我已经阅读了关于使用状态机实现的解析器,但想了解一些需要作为状态机实现的问题。