Vector
在 Java 中使用基于 a 的实现Stack
而不是链表实现的动机是什么?我意识到 aVector
是同步的并且具有继承优势(和开销),但我觉得这些数据结构不仅通常在文本中作为基于链表的结构教授,而且 LL 避免了随着底层数组的填充而代价高昂的调整大小。
我确实明白Vectors
,使用摊销分析,即使调整大小也是 O(1) 。因此,也许考虑到这一点并没有太大的区别,但是我仍然很想了解其中的原理。
Vector
在 Java 中使用基于 a 的实现Stack
而不是链表实现的动机是什么?我意识到 aVector
是同步的并且具有继承优势(和开销),但我觉得这些数据结构不仅通常在文本中作为基于链表的结构教授,而且 LL 避免了随着底层数组的填充而代价高昂的调整大小。
我确实明白Vectors
,使用摊销分析,即使调整大小也是 O(1) 。因此,也许考虑到这一点并没有太大的区别,但是我仍然很想了解其中的原理。