《算法训练营》课堂笔记 & 习题

第01课丨数据结构与算法总览

参考链接

课后作业

绘制自己的数据结构和算法脑图

用脑图的方式把知识的脉络串联起来,不管对于学习新知识还是巩固已有知识,都是一种很好的学习方式。同学们可以将目前自己所掌握的数据结构和算法知识绘制成脑图,在绘制过程中可以查阅资料,补充目前掌握欠缺的部分,找到自己薄弱的地方。后面再通过课程的学习和刻意练习,动态地将自己绘制的脑图逐步补充、完善,从而达到真正的融会贯通。

脑图绘制工具不限,同学们需要按时将作业提交到班级 GitHub 中,具体作业提交方式戳此查看

第02课丨训练准备和复杂度分析

参考链接

参考链接

第03课丨数组、链表、跳表

参考链接

Array 实战题目

Linked List 实战题目

课后作业

第04课丨栈、队列、优先队列、双端队列

参考链接

预习题目

实战题目

课后作业

说明:改写代码和分析源码这两项作业,同学们需要在第 1 周的学习总结中完成。如果不熟悉 Java 语言,这两项作业可选做。

第05课丨哈希表、映射、集合

参考链接

课后作业

写一个关于 HashMap 的小总结。
说明:对于不熟悉 Java 语言的同学,此项作业可选做。

实战题目 / 课后作业

参考链接

第06课丨树、二叉树、二叉搜索树

参考链接

思考题

树的面试题解法一般都是递归,为什么?
说明:同学们可以将自己的思考写在课程下方的留言区一起讨论,也可以写在第 2 周的学习总结中。

参考链接

实战题目 / 课后作业

第07课丨泛型递归、树的递归

参考链接

实战题目

每日一课

课后作业

第08课丨分治、回溯

参考链接

预习题目

参考链接

实战题目

第09课丨深度优先搜索和广度优先搜索

参考链接

实战题目

课后作业

第10课丨贪心算法

参考链接

课后作业

第11课丨二分查找

参考链接

实战题目

课后作业

使用二分查找,寻找一个半有序数组 [4, 5, 6, 7, 0, 1, 2] 中间无序的地方
说明:同学们可以将自己的思路、代码写在第 3 周的学习总结中

第12课丨动态规划

参考链接

参考链接

实战题目

实战题目

高级 DP 实战题目

注意:请大家先消化前面的实战题目,高级 DP 的方法和题解会在课程后面解锁。

课后作业

第13课丨字典树和并查集

参考链接

实战题目 / 课后作业

分析单词搜索 2 用 Tire 树方式实现的时间复杂度,请同学们提交在第 6 周的学习总结中。

参考链接

实战题目 / 课后作业

第14课丨高级搜索

参考链接

实战题目

实战题目

课后作业

总结双向 BFS 代码模版,请同学们提交在第 6 周学习总结中。

参考链接

实战题目

第15课丨红黑树和AVL树

参考链接

第16课丨位运算

参考链接

参考链接

实战题目 / 课后作业

第17课丨布隆过滤器和LRU缓存

参考链接

参考链接

实战题目 / 课后作业

第18课丨排序算法

参考链接

课后作业

用自己熟悉的编程语言,手写各种初级排序代码,提交到第 7 周学习总结中。

参考链接

实战题目 / 课后作业

第19课丨高级动态规划

参考链接

课后作业

在第 8 周学习总结中,写出不同路径 2 这道题目的状态转移方程。

参考链接

课后作业

第20课丨字符串算法

参考链接

字符串基础问题

字符串操作问题

异位词问题

回文串问题

最长子串、子序列问题

字符串 + DP 问题

参考链接

课后作业

感谢您的阅读,本文由 董宗磊的博客 版权所有。如若转载,请注明出处:董宗磊的博客(https://dongzl.github.io/2020/06/04/29-Algorithm-Training-Note/
PT-OSC 添加唯一索引导致数据丢失问题分析
Go 语言编程知识学习总结(持续更新中)