题目
数组和链表的区别、适用场景
答案
示意图: ![](https://cs-wiki.oss-cn-shanghai.aliyuncs.com/202305062146453.png) | 数组 | 链表 | | | -------- | ------------------------ | ---------------------------------------- | | 存储方式 | 连续的内存块 | 非连续的内存块 | | 插入操作 | 需要移动后续元素,时间复杂度 O(N) | 只需要修改前后节点的指针即可,时间复杂度 O(1) | | 删除操作 | 需要移动后续元素,时间复杂度 O(N) | 只需要修改前后节点的指针即可,时间复杂度 O(1) | | 随机访问 | 支持,查找时间复杂度 O(1) | 不支持,查找时间复杂度 O(N) | | 内存占用 | 固定,需要预分配空间 | 动态,只需要使用时申请空间 | | 适用场景 | 数据大小固定,随机访问多 | 数据大小不固定,插入、删除操作频繁的场景