- 课程目录
- 课程介绍
-
在线阅读:开篇词|为什么大厂都爱考动态规划?
数据为媒,算法为介,动态规划即是正义!
-
导读|动态规划问题纷繁复杂,如何系统学习和掌握它?
即便是高级如动态规划这样的思想,也是通过不断的总结而得到的。
-
01 | 硬币找零问题:从贪心算法说起
任何算法都有它的局限性,贪心算法也如此,那么贪心算法能解决哪些问题呢?
-
02 | 暴力递归:当贪心失效了怎么办?
看递归能否更进一步地解决我们遇到的棘手问题,从整体最优的角度来解决算法问题。
-
03 | 备忘录:如何避免递归中的重复计算?
解决重叠子问题,提高算法效率。
-
04 | 动态规划:完美解决硬币找零
“真正”的动态规划解法跟备忘录法会有什么区别呢?
-
05|面试即正义第一期:什么样的问题应该使用动态规划?
面试题目出现这些特征,那么在99%的情况下你都能断言它就是一个动归问题。
-
06 | 0-1背包:动态规划的Hello World
为什么将它称作0-1背包问题,0-1代表什么?
-
07|完全背包:深入理解背包问题
既然都是背包问题,那么完全背包跟0-1背包问题会如何影响状态转移方程呢?
-
08|子数组问题:从解决动归问题套路到实践解题思路
备忘录的定义会对编写代码产生什么影响呢?
-
09|子序列问题:详解重要的一大类动态规划问题
子数组和子序列问题在求解时有什么异同呢?
-
10|面试即正义第二期:常见的动态规划面试题串烧
这节课的目标就是把求方案总数以及求可行性这两类典型的动态规划问题弄明白!
-
加餐|买卖股票:常见且必考的动态规划面试题
这种问题的变种比较多,但依然有规可循。
-
11|动态规划新问题1:攻破最长递增子序列问题
在处理递增序列时,连续和不连续的答案会对状态转移方程产生什么影响?
-
12|动态规划新问题2:攻破最大子数组问题
请你关注一下,相较于简单的动归子数组问题,这节课的题目有何区别。
-
13|动态规划算法设计的关键:最优子结构与状态依赖
这节课深入挖掘最优子结构这个概念,以及它与计算方向之间的关系。
-
14|面试即正义第三期:刷题指南,熟能生巧
这节课将对动态规划题目进行分类,从难度、类型等维度做一个总结。
-
15|课程回顾与总结(上)
无论你是按部就班学习完整个专栏,还是有所挑选地进行阅读,我都建议你认真读完这节课的内容。
-
16|课程回顾与总结(下)
无论你是按部就班学习完整个专栏,还是有所挑选地进行阅读,我都建议你认真读完这节课的内容。
-
结束语|在我家的后院养长颈鹿
我在整个专栏中为你穿针引线。对我来说,这是一段美好友谊的休止,但对你来说,这是一个新的开始。
-
有奖征集倒计时3天!你填写毕业问卷了吗?
11月9日前填写毕业问卷,将有机会获得99元课程兑换码或49元原创保温杯。
-
结课问卷获奖用户名单
每一个声音都值得倾听,感谢你们,与我们共创内容!
-
期末测试|有关动态规划,你掌握了多少呢?
满分?单选3道+多选17道
课程介绍
你将获得 体系完整的动态规划知识库 3 大动态规划解题套路 设计动规算法的关键问题 实用高效的动归刷题指南 讲师介绍 课程介绍...你将获得
- 体系完整的动态规划知识库
- 3 大动态规划解题套路
- 设计动规算法的关键问题
- 实用高效的动归刷题指南
讲师介绍
课程介绍
算法是技术领域的基石,它的稳定与否直接决定了大楼最终的高度。而当很多人面对复杂的算法问题时,总是缺乏清晰的解题思路,这种阻碍从面试延伸至晋升。
动态规划恰恰是解决问题的重要方法论,面对很多数据处理的应用场景,它在降低时间复杂度上极具优势,因此成为了大厂的考察重点。除此之外,动态规划问题还能很好地考察一个技术人的数学模型抽象能力和逻辑思维能力,可以反应个人在算法上的综合能力。
但“难学”似乎已经成为了动态规划抹不掉的标签!
基于此,卢誉声老师将结合自己丰富的工程经验和面试官经历,为你梳理出一条清晰的学习路径,即如何系统学习和掌握动态规划;还会帮你在纷繁复杂的数据结构和算法中,总结出动态规划问题的解题框架和套路。有了正确的学习方法,形成经验式的总结,难题自然迎刃而解。
具体内容上,本专栏分为以下三个模块。
模块一:初识动态规划
讲解复杂面试题的思考和解决方式。从贪心算法开始,一步步阐述动态规划的由来,并通过一个贯穿全篇的例子来展现动态规划的强大之处。通过这部分内容,你会系统了解到动态规划问题的特点和解题经验。
模块二:动态规划的套路
总结动态规划问题的解题框架和套路。结合面试真题,在有效分类的前提下,有针对性地套用解题框架,进行深入而全面的讲解。通过这部分内容,你会快速掌握常见面试题的解题套路。
模块三:举一反三,突破套路
针对几种特别易考的动态规划面试题进行总结,帮助你攻破套路。并在这些高级话题的基础上,提出设计动态规划算法的关键问题。另外,还有刷题指南。通过这部分内容,你会快速掌握动态规划面试题的进阶法门。
学习路径图:

特别说明:
本专栏所有代码将使用Java和C++两种编程语言。
课程目录


