第一次考PAT甲级,95分,分享一下自己的心得体会

2019.9.8日下午13:30 -15:30 在西安交通大学考了PAT甲级,95分,考完的时候心情还是比较激动的,毕竟自己从上个学期来来回回总计三个多月,基本上把PAT甲级题刷完了,最后拿到了满足自己预期的成绩,算是对自己的鼓励吧。

当时去考场的时候,跟旁边的同学的交流,得知他们基本都是大四的,还有研究生,很少有我这样大三的,我同级的同学基本上都不知道有这个考试…

说说我考完这场试收获的一些体会吧:
0强烈建议把20分题放到最后做!!!!25分题和30分题大多是以往出现过的题稍作改编,一看就会有思路的那种,至少有两题会涉及树、图等数据结构或者经典算法,那种题平时练习的时候都要做吐了。而20分题则不然,很多20分题涉及一些数学技巧,可能以往题目都没有出现过的那种,有时候没想到一些trick,或者有一些坑没能排除,那这道题就休想AC,如果开考做了将近一个小时都没把20分题做满分,那会面临巨大的心理压力。我考试的时候就是把20分题放到最后70分钟做的,然后最后还是有一个5分测试点没过…羡慕那些一下子就做出来的大佬。

1、熟悉STL的用法。虽然我这次考试没有遇到不用map、set、vector等容器很难做的题目,但是如果能够熟练掌握这些,代码和思路都可以简化不少

2模板题平时一定要做的滚瓜烂熟。我考试的第二道题就是链表操作题,给两个链表,给出所有结点的address, value以及next,把两个链表交错放到第三个链表输出。这种题少说做过四五次了,很快就AC了。第三题是给出一个syntax tree, 写出对应的表达式,这种题目也做过类似的,中序遍历再稍微做一些小修改就出来了。

3经典数据结构和经典算法要会
包括但不限于:
①树:二叉树的四大遍历、根据中序+前/后序建树、二叉树的静态和动态写法、堆、AVL树的旋转、并查集
②图:DFS、BFS、dijkstra、dijkstra+DFS
③算法:各种经典排序、折半查找

以上所有都要懂得原理和细节,并且能够不参考别人或者书上的代码的基础上独立写出、独立做题

4一定要耐心读题,不要心急。 我当时的最后一道题是和dijkstra相关的,但是又不是以往的那种找最优路径的题目。题目的要求是给出一张图和一组序列,要求判断每个序列是否为dijkstra算法运行过程中进入已找到最短路径结点集合的序列 。说的通俗一点,dijkstra算法中每一次循环不是都会把一个结点的visit置为true吗?这道题就是让我们判断某个把所有结点置为true的序列是否正确。而我刚开始没有认真读题,理解成了那是不是一条最短路径,然后写完程序,样例都是完全错误的,浪费了好多时间,后来重新认真读了一遍题才发现。解题思路:在每次找完u 的时候,判断一下dist [题目给出的序列里的对应结点]dist [u] 是否相等就好了,如果不相等直接输出"No",如果相等,把它给的结点的 visit置为true继续下去。这也从侧面说明了,我们对算法也不能只是会背一个模板,会套题解题就够了,如果我只是把dijkstra算法的代码背下来,这道题是做不出来的

5、如果可以,提前去熟悉一下考点的键盘 。我考试的时候敲键盘异常难受,因为键位排布和我的笔记本差异太大,经常敲错字,浪费了不少时间

最后吐槽一下,报名费太贵了…直接磨灭了我二刷的欲望。首次参加考试不要忘记领牛客网的50元券

希望大家都能考出一个好成绩!

你可能感兴趣的:(想法)