你将收获

掌握一些典型的算法设计策略,如穷举法、贪心法、回溯/分支限界、分治递归、动态规划等

学会分析算法的时间复杂度分析的一些基本方法如迭代展开、递归树、主定理等

通过许多实际例子的讲解,提高学员解决实际问题的算法设计与分析的能力, 为学员的求职面试刷题打下坚实的基础。

适用人群

计算机专业、从事软件开发的程序员、面试刷题人员

课程介绍

课程沿用主讲老师hwdong的一贯的干货无废话、通俗易懂的讲课风格,课程内容不拘泥于某个书本,综合不同的资料,精心组织合理编排教学内容,避免了只采用一本书的局限性,不迷信权威、不迷信书本,剥去华丽深奥概念的外衣,破除算法设计与分析课程难的迷信,跳出“不识庐山真面目、只缘身在此山中”的怪圈,课程直接解剖算法的本质而不是重复别人的教条。本课程将增加代码实现,帮助对代码实现感到困难的学员提高编程实现能力。

课程内容包括:算法设计和分析的基本概念、算法的渐进分析、递归方程的求解、各自算法设计策略(如蛮力法/穷举法、状态空间搜索、回溯和分支限界、分治递归、贪心法、动态规划等),对每种算法设计方法都选取了典型的问题说明算法设计策略的具体应用,在理论介绍和伪代码基础上,进一步用C++语言实现算法,通过代码实现进一步加深对算法原理的理解,提高学员的编程能力,同时还会加强作业辅导并通过CDSN的列表进行讨论,希望通过课后作业、习题进一步训练学习的算法设计、分析和编程能力。

 

课程内容会次持续更新...

课程目录