PAT考试的考纲_pta考试大纲-程序员宅基地

技术标签: 算法  

一。

考纲里要求掌握的算法为:哈希映射、并查集、最短路径、拓扑排序、关键路径、贪心、深度优先搜索、广度优先搜索、回溯剪枝等。

1.哈希映射:一般会用map和unordered_map就好。此外,比如说题目固定了关键字为4个大写字母,那么可以把关键字看成26进制数,这样就能把字符串转换为int型数据处理,提高程序运行速度。当然基本概念也不能忘,解决哈希冲突的基础方法要理解,包括开放地址法(线性探测、平方探测)和链地址法(开放定址法)。

2.并查集:主要就是掌握findfather函数(找到某节点所在集合的“根”)。压缩路径的函数如下:

int findfather(int a){
  if(a!=father[a]{
   father[a]=findfather(father[a]);
  }
  return father[a];
}

3.最短路径:主要掌握dijkstra+DFS。如果出现了负边权,就用bellman-ford(尚未考过)。

4.拓扑排序、关键路径:可以做做PTA上的 Data Structures and Algorithms (English)题目集7-12和7-18,数据结构与算法题目集(中文)7-11。

5.贪心:考的很少。印象比较深的是甲级题库1033 To Fill or Not to Fill,挺难的。

6.DFS、BFS:算是必须掌握的基础了。

7.回溯剪枝:就记得甲级题库里的1103了,不过因为内存限制放的宽,用动态规划暴力做也可以。

8.此外,AVL树的插入删除要会写。

9.根据树的各种遍历方式构建二叉树经常考到,最好熟练掌握。

10.堆的构建、删除、插入要会写,即“自顶向下”和“自底向上”调整堆。

11.最后,关于最小生成树和动态规划,这两个都是顶级的内容了,基本不会考,但是思想并不复杂,多学一点总是好的,学有余力建议了解一下。动态规划甲级题库有好几道,背景都很经典;求最小生成树用的是贪心算法,可以做下PTA上数据结构与算法题目集(中文)7-10,prim和kruskal算法都试试。只是简单学习的话还是很快的,也比较有意思。

作者:zyxc_mysn
来源:CSDN
原文:https://blog.csdn.net/qq_38658814/article/details/82534765
版权声明:本文为博主原创文章,转载请附上博文链接!
二。高分要求
首先有十分钟拿下乙级15分题的本事。
然后要能在半小时内完成乙级20分题1道。
接下来训练自己45分钟完成乙级25分题。
这时你有了2.5小时满乙级的本事!
下面改做甲级英文题。
要有用十分钟读完4题的本事。
20分钟写完20分题并至少过样例。
1小时内写完2道25分题并至少过样例。
1小时写完最难题并至少过样例。
此时你应该有70分左右了,
最后半小时拚命过90吧!
最后补充一句:其实乙级60分就有很多企业要了,乙级90分都有接到BAT级企业电话的!所以不是非要甲级才有机会哈~
三。困难的分析与办法
遇到不会的题或者交N次都过不了某个测试点,先自己尝试着解决,很长时间没有想法(比如一个小时)后,再去网上搜题解。并且不要直接看代码,看下人家的思路。自己再来做,再做不来就去看代码,也不要直接把代码copy下来改了就交,最好看懂代码自己写。我个人觉得这样才能把别人的东西变成自己的。(MOOC数据结构的题有问题的话,善用讨论区,姥姥都会很耐心地提供帮助。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42371436/article/details/95455631

智能推荐

python 中的strptime()和strftime()-程序员宅基地

文章浏览阅读196次。python 中的strptime()和strftime()转自:https://blog.csdn.net/qq_39348113/article/details/82528851strptime(): 功能:按照特定时间格式将字符串转换(解析)为时间类型。 示例如下:def date_try(date): date = datetime.datetime.strpt..._strptime 2月29

Linux 基础入门 & 操作命令_命令' ls -l >tmp-程序员宅基地

这篇文章介绍了Linux系统的基础知识和操作命令,包括其特点、支持的平台以及一些常用的命令如grep。

如何在windows上安装Openssl环境_windows openssl-程序员宅基地

文章浏览阅读6k次,点赞7次,收藏13次。openssl windows版安装_windows openssl

在win10上使用Ubuntu Linux,不用虚拟机,win10自带Linux子系统 WSL putty 导入配置 WSL桌面_windows10 不用wsl直接用ubantu-程序员宅基地

文章浏览阅读1k次。大部分按照此教程即可:https://www.jianshu.com/p/6d6e629df051若出错,在Store中安装ubuntu时候提示,重试该操作,无法加载页面。轻稍后重试。错误码:0x80131500,按照https://blog.csdn.net/han12398766/article/details/88068036错误码:0x80000403,需要打开Windows Upd..._windows10 不用wsl直接用ubantu

CSS命名规范——BEM思想(非常赞的规范)_bem规范-程序员宅基地

文章浏览阅读3.7w次,点赞61次,收藏112次。特别声明:此篇文章由David根据csswizardry的英文文章原名《MindBEMding – getting your head ’round BEM syntax》进行翻译,整个译文带有我们自己的理解与思想,如果译得不好或不对之处还请同行朋友指点。如需转载此译文,需注明英文出处:http://csswizardry.com/2013/01/mindbemding-getting-you_bem规范

JAVA代码覆盖率检测工具-EMMA_java 测试用例检测覆盖的api-程序员宅基地

文章浏览阅读1.8k次。EMMA 是一个用于检测和报告 JAVA 代码覆盖率的开源工具。它不但能很好的用于小型项目,很方便得得出覆盖率报告,而且适用于大型企业级别的项目。EMMA 有许多优点,首先你能免费得到它,并把它用于自己项目的开发。它支持许多种级别的覆盖率指标:包,类,方法,语句块(basic block)和行,特别是它能测出某一行是否只是被部分覆盖,如条件语句短路的情况。它能生成 text,xml,html_java 测试用例检测覆盖的api

随便推点

支持向量机的基本思想_深度讲解支持向量机背后的数学思想-程序员宅基地

文章浏览阅读535次。在支持向量机(support vector machine,SVM)算法中,有诸多数学思想。学习SVM是一个非常好的实践数学思想的过程,为我们以后创新解决问题思路提供了启发。在卷积神经网络兴起之前,在机器学习界一直是非常受追捧的算法,不光是因为其有良好的泛化能力、很高的准确度,更是因为其完备的数学理论依据以及诸多较难理解的数学知识。这两点让人们觉得SVM是一个很精妙很酷的算法!所以在实际应用也非常..._简述支持向量机中核函数方法的基本思想。

曲率高斯滤波去噪python实现(附代码详解)_曲率滤波-程序员宅基地

文章浏览阅读7.3k次,点赞8次,收藏40次。曲率高斯滤波及平均滤波去噪python实现(附代码)曲率滤波的理论基础可以参考下曲率滤波的理论基础和应用,这篇博客介绍的思想完美的避开了一大堆数学公式,简直是我的福音,但还是要细看的,不然很容易忽略重点,我这里就简单的做个总结,所有图片均来源于前面这篇博客。曲率滤波基本原理1、曲率曲面上的一点有一切平面tangent plane,此点处会有各个方向上的曲率,但是必然会有最大主曲率和最小主曲..._曲率滤波

AI之AutoML:Google AutoML(Google Cloud自动化机器学习平台库)的简介、安装、使用方法-程序员宅基地

文章浏览阅读1.4w次,点赞10次,收藏34次。​AI之AutoML:Google AutoML(Google Cloud自动化机器学习平台库)的简介、安装、使用方法目录Google AutoML(Google Cloud自动化机器学习平台库)的简介AutoML的安装AutoML的使用方法Google AutoML(Google Cloud自动化机器学习平台库)的简介​​​​​​​1、Google AutoML的概述背景 ​​​​​​​AutoML 基于谷歌最新的图像识别技术神经架构搜索( Neural A_automl

Linux-Unix编程手册(上下两册全).pdf 高清原版_linux/unix系统编程手册pdf-程序员宅基地

文章浏览阅读8.5k次,点赞144次,收藏34次。文章目录Linux-Unix编程手册(上下两册全).pdf 高清原版 可复制 可搜索 带书签简介预览下载Linux-Unix编程手册(上下两册全).pdf 高清原版 可复制 可搜索 带书签简介《linux/unix系统编程手册(上、下册)》是介绍linux与unix编程接口的权威著作。linux编程资深专家michael kerrisk在书中详细描述了linux/unix系统编程所涉及的系统调用和库函数,并辅之以全面而清晰的代码示例。《linux/unix系统编程手册(上、下册)》涵盖了逾500个系统_linux/unix系统编程手册pdf

Flask框架(flask中的request对象,获取请求参数,保存上传的文件)_request.form.name只能获取第一个-程序员宅基地

文章浏览阅读1w次。1.request中包含了前端发送过来的所有数据 ,请求的 request 对象中保存了一次HTTP请求的一切信息。 通过request.from可以直接发送提取请求体中的表单格式数据,是一个类字典的对象 通过get方法只能拿到多个重名参数的第一个 2. reques常用的属性: 4.这里会用到Postman工具 下载:打开官网,https..._request.form.name只能获取第一个

需求分析(知识点总结)_功能需求分析-程序员宅基地

文章浏览阅读9.9k次,点赞9次,收藏73次。学习目标:需求分析(知识点总结)学习内容:数据流图(Data Flow Diagram,简称DFD)建模方法核心:数据流特性:1、抽象性:只有信息和数据存储、流动、使用以及加工的情况,所以描述的是抽象出来的数据2、概括性:把系统对各种业务的处理过程联系起来考虑,形成总体,反映数据流之间的概括情况数据库应用系统(DBAS)性能指标:1、数据操作响应时间(数据访问响应时间)2、系统吞吐量:指系统在单位时间内可以完成的数据库事务或查询的数量3、允许并发访问的最大用户数4、每TPS代价值_功能需求分析

推荐文章

热门文章

相关标签