数组(多用于查询检索多的时候)
在内存中连续储存,通过下标访问,访问效率高,不支持动态改变大小,自由度小
链表(多用于需要频繁插入,遍历)
动态内存分配,内存中存储不连续,每一个元素都要保存一个指向下一个元素的指针(双向列表则还需要保存只向上一个元素的指针),链表访问效率低,如果想要访问某个元素,需要从头遍历,支持动态增加或者删除元素,自由度大

中间插入/删除 时间复杂度为O(n):
链表:需要遍历
数组:数据的拷贝覆盖
数组在内存中连续存储,适合快速查询,但不支持动态改变大小。链表采用动态内存分配,支持动态增删,但访问效率较低,需从头遍历。链表的中间插入/删除时间复杂度为O(n),数组则涉及数据的拷贝覆盖。
在内存中连续储存,通过下标访问,访问效率高,不支持动态改变大小,自由度小
动态内存分配,内存中存储不连续,每一个元素都要保存一个指向下一个元素的指针(双向列表则还需要保存只向上一个元素的指针),链表访问效率低,如果想要访问某个元素,需要从头遍历,支持动态增加或者删除元素,自由度大

中间插入/删除 时间复杂度为O(n):
链表:需要遍历
数组:数据的拷贝覆盖
7972
2万+
3139
1249
3620

被折叠的 条评论
为什么被折叠?
&spm=1001.2101.3001.5002&articleId=130515210&d=1&t=3&u=6a4cf5d86c7d4c9b8053a641e017d14d)