重庆大学计算机复试面试题库及详细答案(真实考场版).docxVIP

  • 0
  • 0
  • 约4.25千字
  • 约 6页
  • 2026-09-18 发布于河北
  • 举报

重庆大学计算机复试面试题库及详细答案(真实考场版).docx

重庆大学计算机复试面试题库及详细答案(真实考场版)

一、数据结构与算法(重大高频必考)

1.简述快速排序和归并排序的核心区别,各自适用场景

参考答案:两个都是分治思想的排序算法,但底层逻辑和特性差异很大。快速排序是原地排序,核心是选基准值分区,把数组分成大小两部分递归排序;归并排序是先拆分再合并,需要额外辅助空间。

时间复杂度上,归并排序很稳定,最好最坏都是O(nlogn);快排平均O(nlogn),但数据极端有序或无序时会退化到O(n2)。空间上,快排只用到递归栈空间,几乎不占额外内存,归并需要O(n)辅助数组。

实际场景里,日常数组排序优先用快排,效率更高、常数小;对排序稳定性要求高,比如对象排序、大数据外排序,就用归并排序。

2.二叉搜索树BST的特性,为什么平衡二叉树效率更高?

参考答案:BST核心规则很简单,任意节点的左子树所有节点值都比它小,右子树所有节点值都比它大,中序遍历是有序序列。

普通BST有个致命问题,插入有序数据时会退化成单链表,查找复杂度直接从O(logn)变成O(n)。平衡二叉树(AVL、红黑树)会通过旋转操作,始终维持左右子树高度差不超过阈值,保证树的高度稳定在logn级别,不管数据如何分布,查找、插入、删除效率都能稳定在O(logn),这也是JavaTreeMap、C++map用红黑树的原因。

3.手写/口述LRU缓存淘汰算法原理,日常怎

文档评论(0)

1亿VIP精品文档

相关文档