问题标签 [contiguous]

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 回答
751 浏览

python - python 是否将类似的对象存储在连续的内存位置?

Python 是否将相似的对象存储在彼此靠近的内存位置?因为id相似的对象,比如liststuples,比类型的对象更接近str

0 投票
5 回答
1157 浏览

algorithm - 确定排序后的数组是否包含总和为 N 的连续序列

我正在尝试编写一种算法,该算法将返回仅包含正整数的排序数组True/False中的连续序列是否可以总计为.N

例如:

这是我试图做的:

显然上述方法不起作用(在某些情况下它可能会陷入无限循环)。有什么建议么?

一件事我之前没有提到,而且非常重要——算法的复杂度必须尽可能低。

0 投票
2 回答
1783 浏览

c# - 具有连续数据的二维数组的混洗算法

由于我创建的算法,我有一个具有以下值的二维数组,

我希望随机打乱数组中的数据,以便具有相同值的数据保持在一起,但它们的位置会发生变化。请有人帮忙。

例如,如果要对数组进行洗牌,它应该看起来像这样,

0 投票
1 回答
271 浏览

c++ - 32B 块,连续和非连续内存访问

我在 C++ 中使用大型矩阵(8192x8192)的内在函数编写了一个矩阵-矩阵(32 位浮点数)乘法函数,每次读写操作的最小数据大小为 32B。

我会将算法更改为阻塞算法,以便它将一个 8x8 块读入 8 个 YMM 寄存器,并对目标块行(另一个 YMM 寄存器作为目标)进行乘法运算,最后将 8 个结果累积到另一个寄存器并存储到内存中。

问题:从非连续地址获取 32B 块是否重要?如果它看起来像这样,它是否会极大地改变性能:

代替

我的意思是内存的读取速度,而不是缓存。

注意:我使用的是 fx8150,我不知道它是否可以在一次操作中读取超过 32B。

0 投票
1 回答
100 浏览

mpi - 连续分配嵌套 STL 向量中的数据

我想以所有数据连续的方式存储一个 3 维矩阵。这是因为我需要使用 MPI 将矩阵发送到主节点,然后将所有较小的矩阵连接成一个大矩阵。这对于嵌套向量变得很麻烦,因为如果它们在内存中是连续的,您只能发送多个 int、double 等,因此您必须分别发送每个最里面的向量,使用类似的东西

然后在主节点上接收数据,使用id_of_data 现在我正在使用标准向量来存储矩阵,

所以我现在尝试坚持使用 std::vector 。我意识到使用数组/指针很容易解决这个问题,但我想在使用 std::vectors 之前尝试一下。矩阵的维度是恒定的,所以我不必担心动态分配。

我可以使用这样的指针访问向量的元素

但我不知道如何做“相反”,即。就像是

我想做的是

然后以某种方式使嵌套向量指向该数据。

0 投票
3 回答
129 浏览

c - 如何在内存中连续分配 char 数组的 2D 数组并在单个调用中写入文件

在这里,我提出了我的新 C 问题,我有一个 char 数组数组,我想在内存中连续保留内存,以帮助通过一次调用写入文件。

好的,这就是我所拥有的:

请问你能帮我这个代码吗?

提前致谢

0 投票
2 回答
193 浏览

c - 动态矩阵分配 - 使用 malloc 分配一个连续的整数块不起作用

我正在尝试创建一个ints 的二维矩阵并使用malloc().
我希望矩阵看起来像这样:{{-4,0},{-3,0},{-2,0},{-1,0},{1,0},{2,0},{3,0},{4,0}} 但我希望以后能够更改它,所以我尝试使用malloc(). 我创建了:

所以我的函数可以返回类型scores_table

这是我的代码:

问题是 - 函数只返回-4,我不知道为什么。我究竟做错了什么?

0 投票
2 回答
854 浏览

c++ - 变量在堆栈上是连续的吗?

我想知道下面代码中的数组 a 和 b 在内存中是否连续:

a[0],a[1]并且a[2]对于 应该是连续的和相同的,但是对于将分配到b哪里有任何保证吗?ba

如果没有,有什么方法可以强制ab彼此相邻吗?即,以便它们在堆栈中彼此相邻分配。

0 投票
1 回答
705 浏览

arrays - 计算数组中的片段或连续数字序列

假设您有一个整数数组,例如:[0,1,2, 5,6,7, 9,10,11]。在理想的世界中,它们会被排序,但如果算法可以在未排序的情况下工作,那就更好了。

我需要知道这个组中有多少“片段”。想象一下这个数组组成了一个文件的字节数组;这个文件有多碎片化?

在上面的示例中,我计算了 3 个组/片段。

我的目标是将磁盘上“文件”的总数相加,然后是“片段”的总数,然后计算碎片(1 - (files / fragments)我认为。10 个文件,10 个碎片 = 0% 碎片 - 但是如果每个文件都是分成两部分,形成 20 个碎片,这将产生 50% 的碎片)。

所以我正在寻找的算法需要查看一个整数数组并计算出有多少连续的数字组。

有任何想法吗?

0 投票
1 回答
823 浏览

c - 将文件写入连续的内存块

我不断地将 100 MB 文件写入具有 ext4 文件系统的磁盘,当磁盘已满时,我只删除最旧的文件并写入新文件。文件永远不会长在一边。当我这样做时,文件系统会在一段时间后变得安静碎片化。我已经研究了 ext4 的所有格式化选项,但还没有弄清楚为什么会发生这种碎片。

基本上,为了简化问题,我所做的是循环执行以下操作:

有没有办法告诉文件系统将数据以连续块的形式写入磁盘?我看过其他帖子,但我还没有完全弄清楚。我应该使用 malloc() 而不是 fallocate() 吗?