第1章 如何使用本书

2020-01-27  本文已影响0人  晓唦

该书是算法笔记的第一章内容的概要,同时作者在会在B站同步更新视频,欢迎关注三连支持!您的支持就是我更新的动力!

image

1.1本书的基本内容

第2章是对C语言的语法做讲解,同时融入了部分c++特性
第3-5章是入门,第3章是训练基本的编写代码能力,第4章介绍基本算法思想,第5章是一些数学问题。
第6章介绍C++STL容器和Algorithm头文件下的常用函数
第7-12章是进阶部分,第7章介绍栈、队列和链表,第8章介绍深度优先搜索和广度优先搜索,第9、10章介绍树、图算法,第11章介绍动态规划,第12章介绍字符串hash和KMP算法
第13章是在前面章节的基础上增加的额外内容。
根据需要的不同,可以以不同方式来学习。对于研究生复试,本书涵盖了大部分学校的机试内容。对于PAT乙级,前7章基本够用;对于甲,需要掌握本书大部分内容;对于CCF的CSP认证,本书涵盖竞赛内容以外的考点;对于考研初试数据结构科目,本书能够帮助读者更好的理解各种数据结构和算法。

image
另外,本书的配套习题册--实战指南,给出了PAT乙级前50题,甲级前107题的详细题解。
本书推荐"阅读一节本书的内容,然后做一节习题对应小节的题目"的训练方式

1.2如何选择编程语言和编译器

一般来说,可供选择的语言有c、c++、java、python等。一般常使用c或者c++,又由于c++向下兼容c,并且c的输出比c++快很多,所以一般主体使用c,辅之以c++的一些特性和功能。
编译器的选择因人而异,因现场环境而异。不同考试,可能会提供不同的编译器,一般来说,可能出现VC6.0,VS系列,Dev-C++,C-Free,Code:Bloks,Eclipse等。其中VC6.0很老,很多语法可能无法通过编译,所以尽量不要使用;Dev-C++,C-Free,Code:Bloks则是轻便好用的编译器,推荐使用;VS系列比较厚重;Eclipse则常用于Java的编写。

1.3在线评测系统

在线评测系统又称为OJ(Online Judge),以下简称OJ。需要注意的是,即使代码通过样例,也不代表完全正确
本书的例题和 习题来自于PAT和codeup
(1)PAT
(2)codeup
...

1.4常见的评测结果

序号 中文解释 英文 缩写 简答解释
(1) 答案正确 Accepted AC 通过测试数据
(2) 编译错误 Compile Error CE 没法通过编译,可以本地编译通过,再提交,如果还是不行,看看是不是选错了语言
(3) 答案错误 Wrong Answer WA 最常见的错误,代码有漏洞,或者算法本身就是错误的,可能是输出了多余的调试信息
(4) 运行超时 Time Limit Exceeded TLE 时间复杂度超过程序限制,需要尝试更高效的算法,或者出现了死循环
(5) 运行错误 Runtime Error RE 出现的可能性比较多,比如段错误(访问非法内存,比如指针越界等等),浮点错误(除0错),递归爆栈等等
(6) 内存超限 Memory Limit Exceeded MLE 空间复杂度超过程序限制
(7) 格式错误 Presentation Error PE 最接近AC的错误,基本由于多输出了空格或者换行导致,稍作调整,就可以
(8) 输出超限 Output Limit Exceeded OLE 程序输出了过量内容,比如大量调试或者死循环输出等等

1.5如何高效地做题

一般来说,按照算法专题进行集中性的题目训练时算法学习的较好方法,不推荐随意乱做或者,按题号从小到大刷,无法形成完整的知识体系。
如果某道题没有想法,可以先放着跳过,以后回来刷,或者看题解,知道解题过程以后,自己写。
另外,适当总结相似题目的解题方法,可以事半功倍!

上一篇下一篇

猜你喜欢

热点阅读