gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 19:07:21 24 4
gpt4 key购买 nike

我想将递归函数转换为迭代函数。我通常做的是,我初始化一个队列,将第一个作业放入队列。然后在一个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com