|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/skills-algorithms-cpp2/
课程评论:没有评论
**课程名称:** Mastering critical SKILLS in Algorithms using C++: Part 2 **课程概述:** 本课程不同于侧重知识传授的其他课程,而是将重点放在培养学员**扎实的算法实操技能**上。课程涵盖了算法领域的重要内容,深入解析算法的内部细节、时间与内存复杂度,并提供**逐行代码的教学**。所有内容均附有源代码和讲义,并提供**大量练习机会**,帮助学员真正掌握所学算法,弥补许多其他课程在这方面的不足。 **主要内容:** * **动态规划 (Dynamic Programming):** * 入门与选择模式 * 枚举选择 * 范围模式 * 图与网格上的动态规划 * 计数 * 打印解决方案 * 制表法 (Tabulation) * 马拉松问题 (Marathon) * **回溯 (Backtracking)** * **分治 (Divide and Conquer)** * **最短路径算法:** * Floyd-Warshall 算法 * Bellman-Ford 算法 * Dijkstra 算法 * **最小生成树:** * Prim 算法 * Kruskal 算法 **教学风格:** 课程采用独特的教学方式,将理论概念与代码实践**最大限度地并行结合**。在必要时,会先通过伪代码引导,再深入到具体的代码实现。同时,课程注重**形象具体的讲解**和**清晰的可视化**,力求让学员更容易理解和掌握。 **学习收获:** 完成本课程后,学员将: * **扎实掌握 C++ 算法知识。** * **熟练运用不同的算法技能。** * **提升分析和解决问题的能力。** * **写出清晰、规范的算法代码。** * **为参与算法竞赛打下坚实基础。** * **为面试做好充分准备。** **先修要求:** * **编程基础:** 扎实的编程能力,完成过大量基础的编程题目。 * **递归理解:** 对基础递归(如斐波那契数列)有良好理解。 * **STL 熟悉:** 熟悉 C++ 标准模板库 (STL),特别是 `vector`、`map/set`、`unordered_map/unordered_set`。 **强烈推荐:** * 完成过编程项目。 * 完成过充分的数据结构课程(包含大量数据结构练习)。 **特别鸣谢:** 感谢 Robert Bogan 提供的讲义校对。 **不要错过这个独特的学习体验!**
Almost all other courses focus on knowledge. In this course, we focus on gaining real skills. Overall:The course covers a good subset of algorthmic topicsLearn the inner details of the algorithms and their time & memory complexity analysisLearn how to code line-by-lineSource code and Slides and provided for all contentAn extensive amount of practice to master the taught algorithms (where most other content fails!)Content:Dynamic Programming: IntroDP: Pick or Leave PatternDP: Enumerating the choicesDP Range PatternsDP on Graph and GridsDP CountingDP: Printing SolutionDP TabulationDP Solving MarathonBacktrackingDivide and ConquerShortest Path Algorithm: Floyd-WarshalShortest Path Algorithm: Bellman-FordShortest Path Algorithm: DijkstraMinimum Spanning Tree: PrimMinimum Spanning Tree: KruskalTeaching Style:Instead of long theory then coding style, we follow a unique styleI parallelize the concepts with the codes as much as possibleUnless better for you to work on pseudocode firstGo Concrete as possibleUse Clear Simple VisualizationEngagement By the end of the journeySolid understanding of Algorithms topics in C++Mastering different skillsAnalytical and Problem-Solving skillsClean coding for algorithmsWith the administered problem-solving skillsYou can start competitive programming smoothlyA strong step toward interviews preparationPrerequisitesProgramming Skills:Strong Programming skillsSolving a lot of basic problem-solving problems on fundamentalsGood understanding for basic recursion (E.g. Fibonacci) STL, especially Vectors, map/set, unordered map/setHighly Preferred: Do programming projectsFinish a descent data structure course (extensive data structure practice)Don't miss such a unique learning experience!Acknowledgement: "I'd like to extend my gratitude towards Robert Bogan for his help with proofreading the slides for this course"