Skip to content

大题答题模板

模板 1:算法设计题标准结构

text
1. 设计思想
   说明核心数据结构和关键思路。

2. 算法步骤
   用自然语言或伪代码分步描述。

3. 关键代码 / 伪代码
   变量命名清晰,边界写全。

4. 正确性说明
   说明循环不变式或关键结论。

5. 复杂度分析
   时间复杂度:
   空间复杂度:

模板 2:链表题

text
设计思想:
设置若干指针,利用单链表局部修改指针域完成操作。

算法步骤:
1. 判空。
2. 初始化前驱/当前/快慢指针。
3. 扫描或定位目标结点。
4. 修改 next 域完成插入、删除、反转或合并。
5. 返回结果。

模板 3:树题

text
设计思想:
树问题通常采用递归或队列层序遍历。递归函数返回值必须先定义清楚。

算法步骤:
1. 若根结点为空,直接返回。
2. 按先序/中序/后序/层序遍历访问结点。
3. 在访问过程中累计答案或构造结果。
4. 返回最终结果。

模板 4:图题

text
设计思想:
根据题意选择邻接矩阵或邻接表,并在此基础上进行 BFS / DFS / 入度统计 / 最短路。

算法步骤:
1. 根据输入建立图。
2. 初始化 visited / indegree / dist 等辅助数组。
3. 按 BFS、DFS 或拓扑排序规则推进。
4. 在遍历过程中统计或更新答案。

模板 5:排序/查找题

text
设计思想:
利用序列有序性,选择折半查找、partition、快排或归并思想降低复杂度。

算法步骤:
1. 明确区间和边界。
2. 比较中点或基准。
3. 舍弃不可能区间或进行划分。
4. 直到找到目标或区间为空。

考场表达建议

  • 不要直接写一坨代码,先写“设计思想”。
  • 复杂度一定单独起一行。
  • 若题目要求“尽可能高效”,要主动点出为什么你的做法优于朴素做法。
  • 如果没时间写完整正确性证明,至少说明“为什么不会漏”和“为什么不会错”。

拿分点清单

  • 题意转化是否正确。
  • 数据结构是否合理。
  • 关键步骤是否完整。
  • 复杂度是否准确。
  • 边界条件是否说明。
最近更新

基于 MIT 许可发布