写在前面
半年前我努力啃下了《算法第4版》,作为非科班的学生,刚学完数据结构与算法,我同样也在思考如何巩固提高。最终我选择了适合自己的几个方式,PAT甲级正是其中之一。
大概讲一下PAT甲级是啥。PAT(Programming Ability Test)是浙江大学组织的编程考试,分为乙级、甲级和顶级。浙大计算机学院和软件学院可用甲级、顶级成绩作为考研机试成绩,部分企业可为成绩优异者免除招聘笔试,具体情况可到官网了解。
甲级为全英文题目,一般出4题,考察内容包括:编程基础(c/c++/java等)、链表、队列、栈、树、堆、并查集、图、二分查找、排序、哈希表、双指针、深度优先搜索、广度优先搜索、最短路径、贪心、动态规划、分块思想等。可以看到,考察的内容很全面,认真准备下来基本可以吃透本科算法与数据结构。
此外,我也刷了200+leetcode,可以说说两者的区别。leetcode面向于找工作,性价比更高,论坛成熟题解丰富,用户体验好;leetcode题目有中文,而pat甲级为英文,需要有读英文题的习惯;pat甲级算法难度绝大多数处于leetcode简单和中等级别,但leetcode只需编写解题所需的关键方法,而pat甲级需要编写包括输入、处理、输出的全流程,再加之leetcode会提供具体出错的测试数据,而pat只告知有错却不提供具体测试数据,大大增加了debug难度,做起来不比leetcode简单中等级别的轻松。
那么,pat甲级适合什么样的人呢?
- 考研选手,尤其是考浙大的。
- 转专业选手,想参加相关考试、比