解读!《算法笔记》的正确打开方式(目录索引+章节总结)

个人阅读《算法笔记》过程中,每啃完一章(难度高,内容多,不易消化的会对小节进行总结)会做一个小总结,总结里面涵盖这一章的专题要点可解的问题注意要点。个人水平和个人理解有不到位的地方,请指正讨论。
PAT甲乙级代码会放在Github上欢迎大家下载——PAT甲乙级代码合集希望大家可以watch,star,fork三连

还有一些个人在本科期间对算法训练的总结,希望对大家能有所帮助。本科算法联系经验贴

代码持续更新中……预计2020年05月前完成

目录

  • 第1章 如何使用本书:
    建议一定要仔细阅读两本书的前言
  • 第2章 C/C++快速入门
    无论基础好与不好都不建议跳过这一章的学习。基础好的可以提高速度,多看一看结构体和第6章6.9的常用函数(STL),可以大幅度提高代码编写效率。这一章也有很多细节地方值得琢磨和推敲
  • 第3章 入门篇(1)——入门模拟
    • 3.1 简单模拟
    • 3.2 查找元素
    • 3.3 图形输出(三合一)
    • 3.4 日期问题(三合一)
    • 3.5 进制转换(三合一)
    • 3.6 字符串处理
  • 第4章 入门篇(2)——算法初步
    • 4.1 排序
    • 4.2 散列
    • 4.3 递归(整合至DFS)
    • 4.4 贪心
    • 4.5二分
    • 4.6 two pointers
    • 4.7 其他高效技巧与算法(第5章素数涉及打表,动态规划涉及递推公式,快排涉及随机选择算法)
  • 第5章 入门篇(3)——数学问题
  • 第6章 C++标准模板库(STL)介绍
  • 第7章 提高篇(1)——数据结构专题(1)
    • 7.1 栈的应用
    • 7.2队列的应用(在STL,BFS,优先队列(堆)均有涉及,因此未单独总结)
    • 7.3 链表处理
  • 第8章 提高篇(2)——搜索专题
    • 8.1 深度优先搜索(DFS)
    • 8.2 广度优先搜索(BFS)
  • 第9章 提高篇(3)——数据结构专题(2)(包含章内部分小节)
    • 9.1 树与二叉树(整合至章专题)
    • 9.2二叉树的遍历
    • 9.3树的遍历(整合至章专题)
    • 9.4 二叉查找树(BST)(整合至章专题)
    • 9.5 平衡二叉树(AVL树)
    • 9.6 并查集
    • 9.7 堆(整合至章专题)
    • 9.8哈夫曼树(整合至章专题)
  • 第10章 提高篇(4)——图算法专题(包含章内部分小节)
    • 10.1 图的定义和相关术语(整合至章专题)
    • 10.2 图的存储(整合至章专题)
    • 10.3 图的遍历(整合至章专题)
    • 10.4 最短路径
    • 10.5 最小生成树(整合至章专题)
    • 10.6 拓扑排序(整合至章专题)
    • 10.7 关键路径(整合至章专题)
  • 第11章 提高篇(5)——动态规划专题
  • 第12章 提高篇(6)——字符串专题
  • 第13章 专题拓展
    • 13.1 分块思想
    • 13.2 树状数组
    • 13.3 快乐模拟

Tips:

  • 前言中的二维码值得一看,章节后面的二维码基本没有用处
  • 专题练习效果最佳:讲义与习题集配合使用效果最佳,每学习完一个章节就做本章节的相应习题(PAT优先),如果章节题目过少或者PAT题目没有涉及,可以适当做一下Codeup,但是Codeup有些题目难度较为极端(过简单或过难),要根据自身情况选择。推荐一个博主的Codeup习题集(传送站)
  • 做题方法建议
for(int i = 0; i < PAT.size(); ++i)
{
	独立思考题目的解题思路(这一步是提升个人编程能力和代码思维的关键)
	if(个人思路可以AC)
	{
	  if(书中代码和自己思路一致)
	  	continue;
	  else
		要记录一下个人思路,学习一下作者思路(一般书上思路比较精炼,还是很值得学习的);
	}
	else
	{
		记录个人思路,参并对比答案思路寻找异同,不看具体代码和其使用的数据结构;
		参考答案思路,个人独立编程;
		if(独立编程AC)
			对比个人代码与答案代码
		else
			学习答案思路和答案代码	
	}
	对本专题进行总结(这一步会有很大的收获)
}
  • 《算法笔记》章节内容的取舍
    个人建议如果时间充足,可以认真看一看(前提一定是认真!!因为确实有些不易理解),练习题可以不做,毕竟都是功利的心理嘛,理解起来都费劲,怕是做题得崩溃

还有算法笔记上也不是每一章每一节都要看都要弄懂,这里给出不需要看的章节,(再次强调,请选择性接受,我只能说PAT甲乙级目前为止没有考到以后也大概率不会考到,真的考到了请不要找我0.0):
4.7-4.7.3 随机选择算法。(后台数据不太可能随机,而且也没考到过)
5.7 扩展欧几里得算法。(千万不要看,看完以后你会怀疑人生的,而且也不会考)
5.8 组合数。(没考过,但是可以看一看,不难)
9.8 哈弗曼树。(没考过)
10.4-10.4.2~10.4.3 Bellman-Ford算法和SPFA算法以及Floyd算法(都没考过= =,但是不代表以后不会考,出现负环就会考了)
10.5 最小生成树(没考过)
10.6 拓扑排序(没考过,考过一题拓扑排序PAT 甲级 1146 Topological Order,但是不需要用这里面讲的复杂方法实现,而只是一个简单的模拟)
10.7 关键路径(鄙人觉得很难考到,大概是有生之年系列了)
11.6 DAG最长路(拓扑排序都没考,哪轮得着你??? ̄△ ̄)
12.2 KMP算法(没考过,代码还很饶人,估计也是有生之年?)
(关于第十一章动态规划专题,PAT前几年考过,最近几年就没有考过了,所以,如果实在不懂,不用太钻牛角尖,大概率不太会考吧0.0)
https://blog.csdn.net/a845717607/article/details/88084747

作者对章节的介绍和建议

来自讲义前言的二维码:传送站
解读!《算法笔记》的正确打开方式(目录索引+章节总结)_第1张图片
解读!《算法笔记》的正确打开方式(目录索引+章节总结)_第2张图片
解读!《算法笔记》的正确打开方式(目录索引+章节总结)_第3张图片
解读!《算法笔记》的正确打开方式(目录索引+章节总结)_第4张图片

你可能感兴趣的:(算法笔记)