data-structures - MATLAB 中有 "queue"吗?

标签 data-structures matlab queue

我想将递归函数转换为迭代函数。我通常做的是,我初始化一个队列,将第一个作业放入队列。然后在一个 while 循环中,我使用队列中的作业并将新作业添加到队列中。如果我的递归函数多次调用自身(例如走一棵有很多分支的树),则会添加多个作业。伪代码:

queue = new Queue();
queue.put(param);
result = 0;

while (!queue.isEmpty()) {
    param = queue.remove();
    // process param and obtain new param(s)
    // change result
    queue.add(param1);
    queue.add(param2);
}

return result;

不过我在 MATLAB 中找不到任何类似队列的结构。我可以使用向量来模拟队列,其中将 3 添加到队列就像:

a = [a 3]

删除元素是

val = a(1);
a(1) = [];

如果我正确使用 MATLAB,这种方法将成为性能 killer 。

有没有一种在 MATLAB 中使用队列的合理方法?

其他数据结构呢?

最佳答案

如果您坚持使用正确的数据结构,您可以在 MATLAB 中使用 Java:

import java.util.LinkedList
q = LinkedList();
q.add('item1');
q.add(2);
q.add([3 3 3]);
item = q.remove();
q.add('item4');

关于data-structures - MATLAB 中有 "queue"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4142190/

相关文章:

matlab - 旋转 MATLAB 图例

arrays - 使用 Octave 计算数组中每个唯一向量的实例数的最有效方法是什么?

java - 队列/链表程序中的 NullPointerException

algorithm - 在向量中找到 K 最小的元素,其中 K 非常小

java - 通过管理控制台将消息发送到 JBoss 6 中的队列

database - 消息系统中针对表的队列

python - 根据层次结构创建列表数量

algorithm - 用于检查静态数组是否不包含给定范围的元素的数据结构

c# - 如何构建一棵与或树?

c - 二叉搜索树无法正确识别值