标签: matlab dictionary data-structures
我正在尝试实现无序插入的排队系统。密钥将对应于成员离开队列的时间。因此,通过找到最小的密钥,可以找到离开队列的下一个成员。
如果是c ++,则可以通过地图来解决。 MATLAB提供了一个名为map的结构,但是它是一个hashmap。它支持O(1)插入和删除,但是要找到最小的密钥就必须遍历所有密钥(O(N))。另一种方法是将向量用作队列。最小密钥始终位于最前面,因此访问权限为O(1)。但是在这种情况下,插入到队列的中间会使所有比插入键高的内容都移位一个(O(N))。
所以问题是: