GBl*_*ney 3 .net c# queue data-structures
我现在正在阅读C#在一个Nutshell中,书中提到Queue数据结构的底层实现使用了一个根据需要调整大小的数组.这个调整大小当然会有成本,所以我想知道使用它的背后的理由是说双链表是什么?鉴于我们只关心第一个和最后一个元素,并且双链表比数组更有效地调整大小,为什么要使用数组呢?数组会占用更少的内存,但这是唯一的理由吗?
编辑:对不起,刚刚意识到这几乎与此完全重复: 为什么Stack <T>和Queue <T>用数组实现? (他们的问题甚至来自同一本书).无论如何,谢谢你的所有答案!
小智 6
出于同样的原因,使用数组而不是链接列表实现了许多其他数据结构,如堆栈,哈希表,邻接列表等:
int)比同等数组大三倍,甚至没有考虑每个对象的分配开销.如果我们诚实并考虑到这些,我们必须添加一个或两个单词的每节点标题,因此它更像是4x或5x更大.这使得阵列可能具有的任何过度分配相形见绌.| 归档时间: |
|
| 查看次数: |
2424 次 |
| 最近记录: |