问题标签 [deque]
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.
python - Python Deque appendleft 与列表
我目前正在deque
使用以下内容创建我的对象,
但我希望稍后在队列中添加一个类似的列表,但使用appendleft
,所以它可以跳到列表前面。我假设以下,但没有运气。
这甚至可能appendleft
吗?
data-structures - 将不可变双端队列实现为平衡二叉树?
我一直在思考如何将双端队列(即双端队列)实现为不可变的数据结构。
似乎有不同的方法可以做到这一点。AFAIK,不可变数据结构通常是分层的,因此它的主要部分可以在修改操作(例如插入或删除项目)后重用。
Eric Lippert 在他的博客上有两篇 关于此主题的文章,以及 C# 中的示例实现。
他的两个实现都让我觉得比实际需要的更复杂。不能将双端队列简单地实现为二叉树,其中元素只能在树的“左”(前)和“右”(后)插入或删除?
此外,树将通过旋转保持合理的平衡:
- 在前面插入或从后面取出时向右旋转,以及
- 从前面移除或从后面插入时左旋转。
在我看来,Eric Lippert 是一个非常聪明的人,我非常尊重他,但他显然没有考虑过这种方法。因此,我想知道,这是有充分理由的吗?我建议的实现双端队列的方法是否幼稚?
c - 在 C 中反转双链接双端队列
我无法在 C 中反转我的双链双端队列列表(只有一个后哨),我正在通过切换指针来接近它,这是我到目前为止的代码:
但它似乎不起作用,我一直在用一个看起来像这样的双端队列测试它: 1, 2, 3 输出是: 3 这个过程似乎弄乱了数字的实际值。IE。2变成2.90085e-309...我认为指针切换搞砸了,但我找不到问题。即使这并不意味着我的代码是正确的;它编译得很好。
deque - 如何从 std::deque 获取前一个元素?
例如,我有一个包含大约 10 个元素的数组。
问题:如何找到900
元素,而不使用[]
访问?如果海量的大小会发生变化,例如变为123,如何找到122的元素?
PS:我不想用[]
,因为这个方法不做d[-1]
检查...
谢谢。
c++ - 从向量切换到双端队列的大小限制通常是多少?
我最近写了这篇文章:
如何最好地在 c++ 中存储非常大的 2D 浮点列表?错误处理?
一些人建议我将我的 2D 类似列表的浮点结构实现为向量,其他人则说是双端队列。
从我收集到的向量需要连续的内存,但因此效率更高。显然,如果可能的话,这将是可取的。
因此,我的问题是关于基本结构可以有多长的一个好的规则是......
1. float
2. int
...在您应该从向量切换到双端队列以避免内存问题之前?
例如,我正在寻找类似“大约 400 万个浮点数或 800 万个整数,你应该切换......”的答案......如果可能的话。
java - 将二进制文件读取到双端队列的问题
我正在按照讲师的要求使用 ArrayList 编写双端队列实现。到目前为止,类的主体看起来像这样
双端队列初始化为
我已经用一个单独的测试类测试了我的 Deque,我很确定它工作正常。但是每次我尝试运行这个读取类时,它都会在deck.addToBack(character) 行导致java.lang.OutOfMemoryError。是什么导致了问题,如何避免?
编辑:我的双端队列实现。界面由我的导师提供。
}
c++ - 如何定义双括号/双迭代器运算符,类似于向量的向量?
我正在移植使用大量浮点数的代码,这可能会触发从 c 到 c++ 的 malloc 失败。我问了一个关于我应该使用向量还是双端队列的问题,Niki Yoshiuchi慷慨地给了我这个安全包装类型的例子:
我需要向量/双端队列的二维向量,因此我将其修改为以下代码:
我现在希望能够定义我的括号运算符,这样我就可以有一个语句,比如
x[1][2]
直接访问哪个是真实的内存容器(由我的枚举变量的值给出。
我已经看过一些关于覆盖括号运算符的教程,但肯定不知道要覆盖双括号。
你怎么能超载双括号?
此外,您将如何重载双迭代器(如果我想使用迭代器,而不是直接索引)?
编辑1:
基于 Martin York/Matteo Italia 的解决方案,我设计了以下课程:
最后是一个尺寸安全的 2D 容器!!多谢你们!
c++ - (相对)C++ 中大小安全的包装 STL 容器
请耐心等待,因为我是自学 C++ 的,并且我将有限的额外时间花在工作上以尝试更多地了解它(我白天是一名化学工程研究员)。
我有一个非常简单的目标: 1. 制作一个大小安全的容器来存储一长串浮点数。2. 制作该容器的专用版本,用作矩阵。
到目前为止,根据对我在这里提出的各种问题的一些反馈,我得出的结论是:
通过这个实现,我尝试:
1.向包装器的用户提供两个访问选项(“.get(x,y)”和“[x][y]”)
2.通过使用基于包装的类来最大化重用然后继承它来制作矩阵。
3.解决连续内存限制达到时从vector过渡到deque的问题。
这似乎是一个不错的解决方案?建议?
data-structures - 为什么我们在现实世界中需要 Deque 数据结构?
谁能给我一个需要Deque数据结构的情况的例子吗?
注意 -请不要解释 adeque
是什么?
python - 在 python 2.6 中检查双端队列的 maxlen
我不得不从 python 2.7 更改为 2.6。
我一直在使用带有 maxlen 属性的双端队列,并一直在检查 maxlen 是什么。显然,您可以在 python 2.6 中使用 maxlen,但在 2.6 中,双端队列没有 maxlen 属性。
在 python 2.6 中检查双端队列的 maxlen 的最简洁方法是什么?
在 2.7 中:
在 2.6 中可以使用 deque 并且 maxlen 可以正常工作,但是 maxlen 不是可以引用的属性。
干杯