C语言链表高频面试题(含详细实操答案).docx

C语言链表高频面试题(含详细实操答案).docx

C语言链表高频面试题(含详细实操答案)

一、基础概念面试题(问答类)

1、说说链表和数组的区别?日常开发怎么选型?

参考答案:

核心区别集中在内存结构、读写效率、扩容特性三个方面:

1)内存结构:数组是连续内存空间,内存地址依次递增;链表是离散内存,每个节点独立分配,靠指针关联,内存不连续。

2)访问效率:数组支持随机访问,通过下标直接定位元素,时间复杂度O(1);链表只能从头节点遍历查找,顺序访问,查找时间复杂度O(n)。

3)增删效率:数组中间/头部增删元素需要批量移位,时间复杂度O(n);链表只需修改相邻节点的指针指向,无需移动数据,时间复杂度O(1)(找到节点后)。

4)空间特性:数

文档评论(0)

1亿VIP精品文档

相关文档