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

时间:2017-01-13 09:14:52

标签: java algorithm

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

我基本上想说的是

数组与链接列表固定大小更多内存用于指针是的我理解

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

1 个答案:

答案 0 :(得分:1)

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

然而,使用数组需要一些额外的逻辑,这对于初学者来说可能是棘手的,使线性数组表现得像圆形结构。因此,您可能希望首先编写低效的链表实现,然后将其修改为高效。