25 分钟
求职冲刺

数据结构基础

链表、栈、队列、哈希表

  • 实现链表和常见操作
  • 栈和队列的应用
  • 哈希表原理

链表

示例代码(可运行)

栈和队列

示例代码(可运行)

哈希表原理

示例代码(可运行)
预测输出
stack=[1,2,3]
print(stack.pop())
找 Bug反转链表时没保存next节点就改了head.next,链表就断了。
def reverse(head): prev=None while head: head.next=prev prev=head
填空题填写空白处的代码
from collections import deque q = deque() q.append(1) q.popleft() #
选择题

括号匹配用什么数据结构?

资深工程师加餐

底层原理 · 大厂视角 · 工程经验,点卡片展开

时间复杂度看「基本操作次数随输入规模 n 的增长量级」,空间复杂度看额外占用的内存;还要区分最好、最坏、平均与均摊。面试时先给能工作的暴力解并说明其复杂度,再一步步优化到更优——面试官评估的往往是你的推导过程,而不只是你是否背出了最优答案。

挑战任务

数据结构挑战

简单+50 XP

用栈实现浏览器前进后退。

数据结构挑战
2 个测试用例

课后作业

循环队列

中等+20 XP

用数组实现固定大小循环队列。

循环队列
1 个测试用例