题目
数组和链表的区别、适用场景
答案
示意图:

| 数组 | 链表 | |
| -------- | ------------------------ | ---------------------------------------- |
| 存储方式 | 连续的内存块 | 非连续的内存块 |
| 插入操作 | 需要移动后续元素,时间复杂度 O(N) | 只需要修改前后节点的指针即可,时间复杂度 O(1) |
| 删除操作 | 需要移动后续元素,时间复杂度 O(N) | 只需要修改前后节点的指针即可,时间复杂度 O(1) |
| 随机访问 | 支持,查找时间复杂度 O(1) | 不支持,查找时间复杂度 O(N) |
| 内存占用 | 固定,需要预分配空间 | 动态,只需要使用时申请空间 |
| 适用场景 | 数据大小固定,随机访问多 | 数据大小不固定,插入、删除操作频繁的场景
