3

与基于数组的数组实现相比,List 的 Linked-List 实现有哪些优势,反之亦然?

对于初学者,我知道链表比数组占用更多空间,因为它必须使用额外的 4 字节空间来保存对下一个节点的引用,而数组不必这样做。所以数组使用更少的空间。

与数组实现相比,链表的优势在于数组在初始化时具有固定大小,您必须编写代码来增加数组的大小,因此与链表实现相比,这可能是一个劣势。

关于其他任何优点 - 缺点的任何想法?

4

1 回答 1

2

对于数组,如果您有索引(恒定时间复杂度 O(1) ),则可以访问任何元素。但是对于一个列表,你必须一个一个地迭代才能访问,尽管你有索引(时间复杂度 O(n))

对于列表,插入和删除元素需要固定时间 (O(1))。但是对于数组,插入和删除需要 O(n) 时间。

对于排序,列表实现优于数组实现。

于 2013-10-07T07:04:22.980 回答