2021年春季,我顺利地取得了PAT甲级满分的成绩。在此,我想分享一下我的备考经历。
我的首次尝试是在2020年冬季。作为一名计算机专业的学生,我在数据结构和算法的学习中只是应付考试,基础并不扎实。当时我完全脱产准备了半个月,刷了大约100道甲级题库的题目,最终以70分的成绩完成了考试,只解决了3题,剩下30分的题目完全不会。
这次考前,我也准备了半个月,主要是完成了甲级题库的全部题目,以及PTA教育超市近几年真题的练习。最终,我顺利地通过了考试。
可以肯定的是,PAT甲级考试并不完全依赖于智商,大多数人通过认真准备都能够取得满意的分数。甲级的题目非常注重数据结构,而不会过分考察技巧性强的算法,DP甚至不在考纲范围内,大多数题目都可以利用常规解法在时间限制内解决。
接下来,我将介绍甲级考纲。官网有详细的内容。算法部分,最短路径、拓扑排序、关键路径都属于图论部分,BFS和DFS以及并查集都与树和图的应用紧密相关,因此数据结构是至关重要的。
如果数据结构基础一般,我强烈推荐《算法笔记》及其配套的练习书《上机训练实战指南》(胡凡著)。除了11、12、13章(技巧性强,时间充裕也可以学习一下,增强实力)外,其他章节都建议看一遍。此书的课后习题可以忽略(都是codeup的题,和PAT风格差别比较大),直接刷《上机》一书,章节是对应的,题目范围都是PAT甲级/乙级题库,乙级的题目可以不做。考纲中数据结构部分在此书中都有覆盖,晴神真的很贴心。
PAT甲级题库的最后几十道是几年前的真题,一定要刷。时间充裕的话,建议把教育超市的近年真题也买来做一下。只有大量真题训练,才能清楚考试范围和难度。
最后提醒一下,不要被真题的考察范围局限了,一切以考纲为主。例如,真题中涉及到的最短路径几乎都是Dijkstra算法,但今年春季甲级T4需要各点之间的最短路径,Floyd算法更加方便。因此,一定要对照考纲,全面准备。
此外,STL模板和DFS非常重要。前者可以大大简化代码量,并优化时间。后者,甲级经常会有30分的大题是纯DFS(当然要搭配好剪枝),我曾因DFS困扰了很久,递归经常反应不过来,只有多练才能有感觉。如果能很轻松搞定甲级题库1131,那DFS的能力基本就足够了。
刷题时,可以参考柳婼的题解,看看大神是如何做到代码如此简洁的(我常常一题写了100多行,看柳神三四十行搞定,跪着膜拜..)
最后,祝大家都能取得满意的成绩!浙大研友、找工作的同学们一起加油!