问题标签 [memory-efficient]

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 投票
6 回答
5436 浏览

data-structures - 随机化数组的有效方法 - 随机播放代码

我在一次面试中被问到这个问题,我给出了各种解决方案,但面试官并不相信。我有兴趣找到解决方案。请提出您的意见:

问:编写一个高效的数据结构来实现 ipod 中的 shuffle。它必须播放所有歌曲,每次以不同的随机顺序播放,同一首歌曲不应重复。(主要是 O(n))

面试后我想到了一个解决方案:我可以在没有递归的情况下进行随机快速排序。我们随机选择 1 个枢轴 O(1),然后进行快速排序 O(n)。现在歌曲将按某种顺序排序,我将它们播放到最后。一旦到达终点,我将再次选择一个随机枢轴,并一次又一次地重复此过程。

问候, 塞图

0 投票
3 回答
228 浏览

python - Python - 将列表列表划分为组

考虑以下简化情况:

根据前两个参数将此列表列表转换为列表列表列表的pythonic和内存+速度有效方法是什么:

实际上 - 只要我有正确的层次结构,任何其他数据结构也可以。例如下面的字典结构浮现在脑海中,但创建它似乎效率不够高效率,而且内存可能会高于lolol解决方案。

0 投票
2 回答
194 浏览

python - 以节省内存的方式从字典中创建 Python 中的迭代器

我正在遍历一个非常大的制表符分隔文件(包含数百万行)并根据该文件中某些字段的值配对它的不同行,例如

由于“mydict”变得非常大,我想把它变成一个迭代器,这样我就不必把它全部保存在内存中。我怎样才能做到这一点,而不是填充字典,而是创建一个迭代器,我可以循环并获取所有这些具有相同字段值的行列表?

谢谢。

0 投票
5 回答
1063 浏览

c++ - C++ 中的高维数组与一维数组效率

我很好奇使用高维数组与一维数组的效率。在定义和迭代这样的数组时,您是否会丢失任何东西:

或定义和迭代这样的数组:

我的倾向是不会有区别,但我仍在学习高效编程(我以前从未关心过这种事情)。

谢谢!

0 投票
3 回答
2303 浏览

matlab - 如何在不使用 Matlab 中的嵌套循环的情况下最有效地比较坐标对?

如果我有 20 对坐标,其 x 和 y 值是:

现在,如果我随机生成 15 对坐标 (x,y) 并想与上面给出的这 20 对坐标进行比较,如何在没有嵌套循环的情况下最有效地做到这一点?

0 投票
5 回答
1024 浏览

python - 有效减少python中的列表

所以我有一个包含 85 个项目的列表。我想不断地把这个列表减半(本质上是对项目的二进制搜索)——我的问题是,什么是减少列表的最有效方法?列表理解会不断创建不理想的列表副本。我想就地删除我的列表范围,直到我只剩下一个元素。

我不确定这是否相关,但我使用的是 collections.deque 而不是标准列表。他们可能或多或少地以相同的方式工作,所以我怀疑这很重要。

0 投票
2 回答
56536 浏览

r - 有没有办法在不使用循环的情况下将 R 中的向量元素粘贴在一起?

假设有一个向量 x:

我想快速把它变成一个字符串“ab”。有没有办法在没有循环的情况下做到这一点?我知道通过循环我可以做到这一点:

但是我需要在很多次迭代中执行此操作,并且每次都必须循环并用新的替换原来的内容会变得非常耗时。我总是希望能够做这样的事情:

好像 paste() 可以巧妙地划分向量本身的元素,但我知道它不能。有没有其他函数,或者更有创意的方式来使用 paste(),可以有效地完成这个任务?

0 投票
3 回答
8001 浏览

java - 2D游戏中碰撞的有效算法?

我正在按照教程(这是我的第一个游戏)用 Java编写炸弹人。本教程建议使用以下代码来检测碰撞。

到目前为止,entities是一个包含敌人和玩家的数组列表。由于我还想检测玩家与墙壁的碰撞,我是否应该将关卡中的每一面墙或砖块放入实体数组列表中?如果是这样,这个算法是不是非常低效?这些图块不会与其他图块发生冲突,因此我正在考虑管理不同列表中的游戏实体。你有什么建议?有没有更有效的算法来做到这一点?

注意:我已经阅读了与 2D 游戏中的碰撞相关的其他问题。非常感谢。

0 投票
1 回答
1426 浏览

python - Python:导入模块的内存成本

内存成本显然取决于模块到底有多大,但我只是在寻找一个普遍的答案:在 Python 中导入模块通常是昂贵还是便宜?如果我有几十个小脚本可能会在整个应用程序期间保留在内存中,那会占用多少内存?

0 投票
4 回答
236 浏览

php - 文本分析的代码效率

我需要有关文本分析的建议。该程序是用php编写的。

我的代码需要接收一个 URL 并将站点单词与数据库进行匹配并寻找匹配项。

棘手的部分是这些词并不总是像它们出现在文本中那样写在数据库中。

例子:

假设我的数据库有这些值: Word = letters

该网站有:罗嗦的东西

我应该输出: Letters thing

在每个尝试将搜索到的单词与数据库匹配之后,我的代码都会生成几个正则表达式。

对于每个未找到的单词,我对数据库进行 8 次查询。大多数单词都不匹配,所以当我们谈论一个包含数百个单词的整个网站时,我的 CPU 水平会飞跃。

我考虑过存储在数据库中找不到的每个单词,因为它们出现(HD 成本低于 CPU),或者可能制作一个数组或字典来存储所有这些。

我真的对这个项目感到困惑。它应该为大量用户提供服务,使用当前代码,服务器将在 10-20 个用户请求后终止。

有什么想法吗?

编辑:搜索到的单词不是英文单词,代码在 windows 2008 服务器中运行