第1章 如何使用这本书
1.1本书的基本内容
第2章:对C语言的语法进行详细的入门讲解,并融入部分C++特性
第3~5章:入门。第3章训练基本代码编写能力,建议用较少时间完成;第4章介绍常用算法思想,建议多花时间思考和训练;第5章,一些数学问题,5.7节和5.8后半部分相对较难,可选择性阅读
第6章:介绍C++标准模板库(STL)中的常用容器和algorithm头文件下的常用函数,不难,可以节省许多撸代码的时间
第7~12章:进阶。第7章,栈、队列、链表;第8章深度优先搜索&广度优先搜索;第9章树;第10章图;第11章动态规划算法中的几个模型及相应总结;第12章探讨字符串hash和KMP算法
第13章拓展
推荐使用方法:阅读一节本书,做一节习题集对应的小题目
1.2 如何选择编程语言和编译器
推荐使用:Dev-C++、C-Free、Code::Blocks、Eclipse
1.3 在线测评系统(Online Judge,OJ)
- (1) PAT
- (2) Codeup
- (3) POJ
- (4) HDOJ
- (5) ZOJ
- (6) CodeForces
- (7) Uva
- (8) Acdream
1.4 常见测评结果
- (1) 答案正确(Accepted,AC)
- (2) 编译错误(Compile Error,CE)
- (3) 答案错误(Wrong Answer,WA)
- (4) 运行超时(Time Limt Exceeded,TLE)
- (5) 运行错误(Runtime Error,RE)
- (6) 内存超限(Memory Limit Exceeded,MLE)
- (7) 格式错误(Presentation Error,PE)
- (8) 输出超限(Output Limit Exceeded,OLE)
1.5 如何高效做题⭐️
- 按照算法专题进行集中性训练
- 适当总结相似题目的解题方法
- 设置一个未解决题目列表,每次有题目暂时不会就扔到队列里,然后隔三差五取出来里面的题目再想一下,想不出来就再扔到队列里;当然如果题目本身较难,做了很久也没有想法,也可以看看题解,知道做法之后再自己独立写出代码