Skip to content
algorithmsintermediate

Algorithms & Data Structures Quiz

Test your understanding of time complexity, sorting, searching, and core data structures.

8 questions

By EZ4Code Team

1. 二分查找的时间复杂度是多少?

O(log n)
O(n)
O(n log n)
O(1)
Explanation: 二分查找每次将搜索范围折半,因此时间复杂度为 O(log n),前提是数组已排序。

2. 快速排序的平均时间复杂度是多少?

O(n log n)
O(n²)
O(n)
O(log n)
Explanation: 快速排序平均时间复杂度为 O(n log n),最坏情况(已排序且选首/尾元素为 pivot)退化为 O(n²)。

3. 哈希表的平均查找时间复杂度是多少?

O(1)
O(log n)
O(n)
O(n²)
Explanation: 哈希表通过哈希函数直接定位键,平均查找复杂度为 O(1),最坏情况(哈希冲突严重)退化为 O(n)。

4. 在头部插入元素时,链表与数组的时间复杂度分别是?

链表 O(1),数组 O(n)
都 O(1)
都 O(n)
链表 O(n),数组 O(1)
Explanation: 链表头部插入只需修改指针,O(1);数组头部插入需要将后续所有元素后移,O(n)。

5. 深度优先搜索 (DFS) 通常使用什么数据结构实现?

栈(或递归)
队列
哈希表
Explanation: DFS 优先深入分支,使用栈(显式栈或递归调用栈)实现后进先出遍历顺序。

6. 广度优先搜索 (BFS) 通常使用什么数据结构实现?

队列
Explanation: BFS 逐层遍历,使用队列实现先进先出访问顺序,确保先访问近邻节点。

7. 平衡二叉搜索树(如 AVL 树)的查找时间复杂度是多少?

O(log n)
O(n)
O(n log n)
O(1)
Explanation: 平衡二叉搜索树通过旋转保持高度为 O(log n),因此查找、插入、删除均为 O(log n)。普通 BST 最坏退化为 O(n)。

8. 归并排序的空间复杂度是多少?

O(n)
O(1)
O(log n)
O(n²)
Explanation: 归并排序在合并阶段需要 O(n) 额外空间存放临时数组,空间复杂度为 O(n),非原地排序。