学习总结: Algorithms: Design and Analysis, Part2

本博客详细总结了在Coursera上完成的Algorithms: Design and Analysis, Part 2课程,涵盖了贪心算法、动态规划和NP完全问题。课程内容丰富,包括时序问题、Prim和Kruskal最小生成树算法、Huffman编码、背包问题、序列对比等。特别强调了课程中最具挑战性的部分——使用动态规划解决旅行商问题的编程题,并介绍了课程的讨论论坛和最终考试情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

201471日开始,历时近2个月,在coursera.org上参与的公开课<<Algorithms:Design and Analysis,Part 2>>已经告一段落。TimRoughgarden教授在Infoand FAQ for final exam中提到:“After finishing the exam, I hope you feel a sense of pride ---this course covers a ton of seriously challenging material!”。做为对自己的奖励,这个周末可以放松一下了。同时,对这门课程的大概内容做简要总结,以备温故而知新。

这门课是Stanford大学网络公开课<<Algorithms:Design and Analysis>>Part2,涵盖的内容包括贪心算法、动态规划和NP完全问题及其近似算法。

在贪心算法中讲述了时序问题、PrimKruskal最小生成树算法、Huffman编码。

在动态规划算法中讲述了背包问题、序列对比、最优查找树、单源最短路径、Bellman-Ford算法、每对顶点间的最短路径、Floyd-Warshall算法、Johnson’s算法。

NP完全问题中讲述了什么是P,什么是NPNP-Complete,旅行商问题等。我觉得这一部分是最难的,对于好多理论,我都是囫囵吞枣。

这门公开课在内容和形式上都非常好,在课程的网页上可以找到videolecture的视频和slidesTim教授的语速很快,我基本是对着subtitles看的。每周的Assignments包括5道选择题和几道(通常是1)编程题。这些题对我来说并不轻松,好在没有时间限制,这2个月的周末时间基本都被花在这些问题的解决上。总的来看,我觉得用动态规划算法解决旅行商问题的编程题是最难的。另外,这门课还有DiscussionForum ,可以问问题,也可以分享一些解决某一问题的思路。最后,还有个FinalExam,都是选择题,有近1/4的题是之前每周Assignments中出现过的类似问题。

Harsh Bhasin, &quot;Algorithms: Design and Analysis&quot; English | ISBN: 0199456666 | 2015 | 692 pages Algorithms: Design and Analysis of is a textbook designed for the undergraduate and postgraduate students of computer science engineering, information technology, and computer applications. It helps the students to understand the fundamentals and applications of algorithms. The book has been divided into four sections: Algorithm Basics, Data Structures, Design Techniques and Advanced Topics. The first section explains the importance of algorithms, growth of functions, recursion and analysis of algorithms. The second section covers the data structures basics, trees, graphs, sorting in linear and quadratic time. Section three discusses the various design techniques namely, divide and conquer, greedy approach, dynamic approach, backtracking, branch and bound and randomized algorithms used for solving problems in separate chapters. The fourth section includes the advanced topics such as transform and conquer, decrease and conquer, number thoeretics, string matching, computational geometry, complexity classes, approximation algorithms, and parallel algorithms. Finally, the applications of algorithms in Machine Learning and Computational Biology areas are dealt with in the subsequent chapters. This section will be useful for those interested in advanced courses in algorithms. The book also has 10 appendixes which include topics like probability, matrix operations, Red-black tress, linear programming, DFT, scheduling, a reprise of sorting, searching and amortized analysis and problems based on writing algorithms. The concepts and algorithms in the book are explained with the help of examples which are solved using one or more methods for better understanding. The book includes variety of chapter-end pedagogical features such as point-wise summary, glossary, multiple choice questions with answers, review questions, application-based exercises to help readers test their understanding of the learnt concepts.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值