为了实现循环队列,您使用单个链表还是双链表或数组?何时以及为什么?
我基本上想说的是
数组与链接列表固定大小更多内存用于指针是的我理解
但是什么时候使用双链接列表在单个链接列表上实现循环队列,反之亦然?
答案 0 :(得分:1)
与单链表相比,双向链表需要额外的存储空间和CPU工作来维护反向链接。与阵列相比,单链表需要额外的存储空间和CPU来维护前向链路。与数组相比,链表的众多小对象需要额外的存储空间(每个对象都有一些存储开销)和垃圾收集器工作。因此,使用阵列具有卓越的性能。
然而,使用数组需要一些额外的逻辑,这对于初学者来说可能是棘手的,使线性数组表现得像圆形结构。因此,您可能希望首先编写低效的链表实现,然后将其修改为高效。