List的Linked-List实现相对于基于数组的数组实现有什么好处,反之亦然?
对于初学者我知道链接列表占用的空间比数组多,因为它必须使用额外的4个字节的空间来保存对下一个节点的引用,而数组不必这样做。所以数组占用的空间更少。
Advantage链表有一个数组实现,即数组在初始化时有一个固定的大小,你必须编写代码来增加数组的大小,这样与链表实现相比可能是一个缺点。
关于其他任何有利于劣势的想法?
答案 0 :(得分:1)
对于数组,如果您有索引(常量时间复杂度为O(1)),则可以访问任何元素。但对于列表,您必须逐个迭代才能访问,尽管您有索引(时间复杂度为O(n))
对于列表,插入和删除元素需要恒定时间(O(1))。但对于数组,插入和删除需要花费O(n)时间。
对于排序,列表实现优于数组实现。