我正在编写利用 (FIFO) 队列提高效率的算法。即,一个列表结构,您可以在 O(1) 时间内追加到列表的末尾,也可以在 O(1) 时间内从列表的前面删除。
数组可以附加到末尾并从前面移除,但仅附加到末尾(使用
append()
方法)是 O(1)(摊销)时间。从前面移除(使用shift()
方法)是O(n)时间。
链表可以在 O(1) 时间内添加到末尾和从前面删除,所以如果 Javascript 中内置了一个好的链表实现,那么我可以将它用于高效队列。
我用谷歌搜索过,但没能找到这些东西——它们存在吗?