首页 > 编程知识 正文

PAT考试经验,PAT考试难度

时间:2023-05-03 16:04:20 阅读:221803 作者:1716

乙级(Basic Level)
考生应具备以下基本能力:
1· 基本的C/C++的代码设计能力,以及相关开发环境的基本调试技巧;
2· 理解并掌握最基本的数据存储结构,即:数组、链表;
3· 理解并熟练编程实现与基本数据结构相关的基础算法,包括递归、排序、查找等;
4· 能够分析算法的时间复杂度、空间复杂度和算法稳定性;
5· 具备问题抽象和建模的初步能力,并能够用所学方法解决实际问题。

甲级(Advanced Level)
在达到乙级要求的基础上,还要求:
1· 具有充分的英文阅读理解能力;
2· 理解并掌握基础数据结构,包括:线性表、树、图;
3· 理解并熟练编程实现经典高级算法,包括哈希映射、并查集、最短路径、拓扑排序、关键路径、贪心、深度优先搜索、广度优先搜索、回溯剪枝等;
4· 具备较强的问题抽象和建模能力,能实现对复杂实际问题的模拟求解。

顶级(Top Level)
在达到甲级要求的基础上,还要求:
1· 对高级、复杂数据结构掌握其用法并能够熟练使用,如后缀数组、树状数组、线段树、Treap、静态KDTree等;
2· 能够利用经典算法思想解决较难的算法问题,如动态规划、计算几何、图论高级应用(包括最大流/最小割,强连通分支、最近公共祖先、最小生成树、欧拉序列)等,并灵活运用;
3· 能够解决复杂的模拟问题,编写并调试代码量较大的程序;
4· 具有缜密的科学思维,考虑问题周全,能够正确应对复杂问题的边界情况。

如何刷pat(想要在pat甲级拿80到90分)

从去年9月份开始刷pat,第一次刷pat乙级,20分,心拔凉拔凉,但是自己考的分,再低也得咽下去!转眼快一年了,刷pat给我最大的感受就是又爱又恨,我常常疾呼:“我待代码如asjdst,代码虐我千百遍!”今天百度一圈,找了些技术大佬的指点,咬着牙,告诉自己,革命尚未成功,自己仍需努力。也愿与同在pat坑里苦苦徘徊的各位小伙伴们一起打个气。

想要在pat甲级拿80到90分?xfddx隐形的手套给出的建议如下:
首先有十分钟拿下乙级15分题的本事。
然后要能在半小时内完成乙级20分题1道。
接下来训练自己45分钟完成乙级25分题。
这时你有了2.5小时满乙级的本事!
下面改做甲级英文题。
要有用十分钟读完4题的本事。
20分钟写完20分题并至少过样例。
1小时内写完2道25分题并至少过样例。
1小时写完最难题并至少过样例。
此时你应该有70分左右了,
最后半小时拚命过90吧!
最后补充一句:其实乙级60分就有很多企业要了,乙级90分都有接到BAT级企业电话的!所以不是非要甲级才有机会哈~

遇到不会的题或者交N次都过不了某个测试点,先自己尝试着解决,很长时间没有想法(比如一个小时)后,再去网上搜题解。并且不要直接看代码,看下人家的思路。自己再来做,再做不来就去看代码,也不要直接把代码copy下来改了就交,最好看懂代码自己写。我个人觉得这样才能把别人的东西变成自己的。(MOOC数据结构的题有问题的话,善用讨论区,隐形的手套都会很耐心地提供帮助

另外找个大腿抱还是挺重要的(比你强就行),N天AC不了一个题有时候也挺打击人的,问题也许超出了你的知识范围而你并不知道,这个时候就需要一个大腿来节约时间,避免信心受损严重了。

代码可以背,思维是突击不来的。强烈建议每天都敲一些代码。
举个例子,甲级练习题里的基础数据结构题。
题目有1004,1020,1021,1028,1032,1107等。
涉及到的有队列,栈,链表,二叉树,并查集。
如果你发现自己并不熟悉这些,那么应该花几天的时间学习c++STL相关操作,二叉树前中后遍历。
由于PAT考试不能够携带纸质资料,我假设你会针对结构体使用algorithm头文件的排序,对STL的向量,栈,队列,map,set相关操作和迭代器足够熟悉,否则强烈建议你花上一些时间学习。
然后可以试着做一些模拟题目。
模拟题范围较广,可以锻炼思维,增强码代码能力。
题目有但不限于这些:1005,1006,1008,1009,1011,1015,1024,1035,1042,1043,1048,1065。
你需要学会贪心思想,深度优先搜索和广度优先搜索,进制转换,筛素数,字符串处理,二分查找。
之后的题目涉及到一些算法,更高级一点的数据结构,数学,动态规划知识。
动态规划较为晦涩,初学者需要较多时间才能掌握。
例如1007,最大子串和就是经典的一题。
另外建议你学习LIS最长上升子序列的O(n^2)做法,LCS最长公共子序列,01背包,这些建议去hduoj,讨论版有详细解析。
数据结构方面学习优美的树状数组,AVL。
例如1057需要用到树状数组的快速求和进行二分查找,1066使用AVL进行模拟。
AVL的旋转思想对Splay这样飘逸数据结构的学习是必不可少的。
算法方面在题库里主要涉及到图论算法。
如1003,1046,1106,主要是最短路算法和深度优先搜索的应用。
1053有多叉树的储存和遍历。
图的储存学会使用矩阵和vector两种方式。
最短路算法较多,不建议全都学会,但一定要对其中一种足够熟悉,并且对矩阵图和vector图都会写。
数学方面主要是学会筛素数,求gcd,lcm,O(sqrt(n))的找约数,素因子,会用约数和定理,约数个数定理,c++的话还有大数的模拟。
转自:csdn by筑梦悠然

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。