数据结构高频考点(一)

1、数组与链表的区别


数组

  • 存储方式

数组由于是紧凑连续存储,可以随机访问,通过索引快速找到对应元素,而且相对节约存储空间。

  • 扩容方式

但正因为连续存储,内存空间必须一次性分配够,所以说数组如果要扩容,需要重新分配一块更大的空间,再把数据全部复制过去,时间复杂度O(N)。

  • 插入和删除

在数组中间进行插入和删除,每次必须搬移后面的所有数据以保持连续,时间复杂度 O(N)。

链表

  • 存储方式

链表存储空间不连续,是根据每个元素存储指向前后元素位置的指针把数据连接起来。这样会消耗相对更多的储存空间,并且无法根据一个索引算出对应元素的地址,不能进行随机访问。

  • 扩容方式

链表因为元素不连续,而是靠指针指向下一个元素的位置,所以不存在数组的扩容问题;

  • 插入和删除

如果知道某一元素的前驱

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

嵌入式软件面试笔记 文章被收录于专栏

该笔记涵盖嵌入式软件工程师技术面试中的知识点,归纳总结为:C/C++、操作系统、计算机网络、数据结构与算法、linux常用命令等章节。

全部评论
已订阅,期待更新
点赞 回复 分享
发布于 2023-02-04 22:07 广东
已订阅,期待更新
点赞 回复 分享
发布于 2023-02-04 22:09 广东

相关推荐

10-28 14:42
门头沟学院 Java
watermelon1124:因为嵌入式炸了
点赞 评论 收藏
分享
10-11 17:30
湖南大学 C++
我已成为0offer的糕手:羡慕
点赞 评论 收藏
分享
评论
4
1
分享
牛客网
牛客企业服务