java - 循环队列实现使用单链表vs双链表vs数组?

标签 java algorithm

<分区>

为了实现循环队列,您使用单链表还是双链表或数组?何时以及为什么?

我主要想说的是

数组与链表固定大小更多指针内存是我明白

但是什么时候使用双链表在单链表上实现循环队列,反之亦然?

最佳答案

与单链表相比,双向链表需要额外的存储空间和 CPU 工作来维护反向链接。与数组相比,单链表需要额外的存储空间和 CPU 来维护前向链接。与数组相比,链表的众多小对象需要额外的存储空间(每个对象都有一些存储开销)和垃圾收集器工作。所以使用数组具有优越的性能。

但是,使用数组需要一些额外的逻辑,这对初学者来说可能很棘手,才能使线性数组表现得像循环结构。因此,您可能想先编写一个低效的链表实现,然后再对其进行修改以提高效率。

关于java - 循环队列实现使用单链表vs双链表vs数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41631018/

相关文章:

algorithm - 许可成本最小化算法

java - 在java中打印嵌套映射而不使用instanceof运算符

java - 如何按 querydsl 别名排序

java - JDBC:是否可以在java中执行多数据库查询?

sql - 这些行 ID 是如何生成的

algorithm - 使用什么数据结构来进行快速变化的最近邻搜索?

c++ - 理解 C++ 算法二进制搜索背后的工作原理的问题

java - 如何修复 Action 监听器输出?

java - 如何在mongodb中查找以前的id

algorithm - 剥离填充后解码base64