pat编程语言_【转载】PAT考试大纲, 刷题方法, 模版

考试大纲

乙级(Basic Level)

考生应具备以下基本能力:

1· 基本的C/C++的代码设计能力,以及相关开发环境的基本调试技巧;

2· 理解并掌握最基本的数据存储结构,即:数组、链表;

3· 理解并熟练编程实现与基本数据结构相关的基础算法,包括递归、排序、查找等;

4· 能够分析算法的时间复杂度、空间复杂度和算法稳定性;

5· 具备问题抽象和建模的初步能力,并能够用所学方法解决实际问题。

甲级(Advanced Level)

在达到乙级要求的基础上,还要求:

1· 具有充分的英文阅读理解能力;

2· 理解并掌握基础数据结构,包括:线性表、树、图;

3· 理解并熟练编程实现经典高级算法,包括哈希映射、并查集、最短路径、拓扑排序、关键路径、贪心、深度优先搜索、广度优先搜索、回溯剪枝等;

4· 具备较强的问题抽象和建模能力,能实现对复杂实际问题的模拟求解。

顶级(Top Level)

在达到甲级要求的基础上,还要求:

1· 对高级、复杂数据结构掌握其用法并能够熟练使用,如后缀数组、树状数组、线段树、Treap、静态KDTree等;

2· 能够利用经典算法思想解决较难的算法问题,如动态规划、计算几何、图论高级应用(包括最大流/最小割,强连通分支、最近公共祖先、最小生成树、欧拉序列)等,并灵活运用;

3· 能够解决复杂的模拟问题,编写并调试代码量较大的程序;

4· 具有缜密的科学思维,考虑问题周全,能够正确应对复杂问题的边界情况。

刷题方法

想要在pat甲级拿80到90分?陈越姥姥给出的建议如下:

首先有十分钟拿下乙级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两种方式。

最短路算法较

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值