你将获得什么?
- 体系完整的动态规划知识库
- 3 大动态规划解题套路
- 设计动规算法的关键问题
- 实用高效的动归刷题指南
课程简介
算法是技术领域的基石,它的稳定与否直接决定了大楼最终的高度。而当很多人面对复杂的算法问题时,总是缺乏清晰的解题思路,这种阻碍从面试延伸至晋升。
动态规划恰恰是解决问题的重要方法论,面对很多数据处理的应用场景,它在降低时间复杂度上极具优势,因此成为了大厂的考察重点。除此之外,动态规划问题还能很好地考察一个技术人的数学模型抽象能力和逻辑思维能力,可以反应个人在算法上的综合能力。
但“难学”似乎已经成为了动态规划抹不掉的标签!
基于此,卢誉声老师将结合自己丰富的工程经验和面试官经历,为你梳理出一条清晰的学习路径,即如何系统学习和掌握动态规划;还会帮你在纷繁复杂的数据结构和算法中,总结出动态规划问题的解题框架和套路。有了正确的学习方法,形成经验式的总结,难题自然迎刃而解。
具体内容上,本专栏分为以下三个模块。
模块一:初识动态规划
讲解复杂面试题的思考和解决方式。从贪心算法开始,一步步阐述动态规划的由来,并通过一个贯穿全篇的例子来展现动态规划的强大之处。通过这部分内容,你会系统了解到动态规划问题的特点和解题经验。
模块二:动态规划的套路
总结动态规划问题的解题框架和套路。结合面试真题,在有效分类的前提下,有针对性地套用解题框架,进行深入而全面的讲解。通过这部分内容,你会快速掌握常见面试题的解题套路。
模块三:举一反三,突破套路
针对几种特别易考的动态规划面试题进行总结,帮助你攻破套路。并在这些高级话题的基础上,提出设计动态规划算法的关键问题。另外,还有刷题指南。通过这部分内容,你会快速掌握动态规划面试题的进阶法门。
学习路径图:
特别说明:
本专栏所有代码将使用Java和C++两种编程语言。
课程目录
课前必读 (2讲)
开篇词|为什么大厂都爱考动态规划?
导读|动态规划问题纷繁复杂,如何系统学习和掌握它?
初识动态规划 (5讲)
01 | 硬币找零问题:从贪心算法说起
02 | 暴力递归:当贪心失效了怎么办?
03 | 备忘录:如何避免递归中的重复计算?
04 | 动态规划:完美解决硬币找零
05|面试即正义第一期:什么样的问题应该使用动态规划?
动态规划的套路 (6讲)
06 | 0-1背包:动态规划的Hello World
07|完全背包:深入理解背包问题
08|子数组问题:从解决动归问题套路到实践解题思路
09|子序列问题:详解重要的一大类动态规划问题
10|面试即正义第二期:常见的动态规划面试题串烧
加餐|买卖股票:常见且必考的动态规划面试题
举一反三 突破套路 (6讲)
11|动态规划新问题1:攻破最长递增子序列问题
12|动态规划新问题2:攻破最大子数组问题
13|动态规划算法设计的关键:最优子结构与状态依赖
14|面试即正义第三期:刷题指南,熟能生巧
15|课程回顾与总结(上)
16|课程回顾与总结(下)
结束语 (3讲)
结束语|在我家的后院养长颈鹿
有奖征集倒计时3天!你填写毕业问卷了吗?
结课问卷获奖用户名单
期末测试 (1讲)
期末测试|有关动态规划,你掌握了多少呢?