计算机专业考研复试面试高频题及详细答案(口语化完整版).docxVIP

  • 2
  • 0
  • 约5.49千字
  • 约 6页
  • 2026-11-07 发布于河北
  • 举报

计算机专业考研复试面试高频题及详细答案(口语化完整版).docx

计算机专业考研复试面试高频题及详细答案(口语化完整版)

一、数据结构与算法高频面试题

1、简述时间复杂度和空间复杂度的含义,以及常见复杂度排序

参考答案:时间复杂度主要是用来衡量算法运行时间随数据规模增长的变化趋势,不统计具体运行时间,只看核心循环的执行次数,忽略常数、低次项和最高次项系数。空间复杂度是衡量算法运行过程中,额外开辟的存储空间随数据规模增长的变化趋势,主要统计除了输入数据之外,临时占用的内存空间。

常见的时间复杂度从小到大排序为:常数阶O(1)、对数阶O(logn)、线性阶O(n)、线性对数阶O(nlogn)、平方阶O(n2)、立方阶O(n3)、指数阶O(2?)。日常刷题和项目开发中,优先控制在O(nlogn)及以内,效率会比较高。

2、链表和数组的区别,各自的优缺点及适用场景

参考答案:数组是连续的内存空间,长度固定,支持随机访问;链表是离散的内存节点,通过指针连接,长度动态可变,不支持随机访问。

数组的优点是查询速度快,通过下标可以直接定位元素;缺点是插入、删除元素需要移动大量数据,扩容成本高,容易造成内存浪费。链表的优点是插入、删除操作只需要修改指针指向,效率高,内存按需分配,没有冗余;缺点是只能从头节点遍历查找元素,查询效率低,且每个节点需要额外存储指针,占用内存更多。

适用场景上,频繁查询、元素个数固定的场景用数组;频繁增删、元素个数不确定的场景用链表。

文档评论(0)

1亿VIP精品文档

相关文档