本在线课程涵盖实际应用中经常出现的计算问题的基本算法技术和思想:排序和搜索、分而治之、贪婪算法、动态编程。我们将学习大量理论知识:如何对数据进行排序以及排序对搜索的帮助;如何将一个大问题分解成若干块并递归解决;何时贪婪地进行才有意义;动态编程在基因组研究中的应用。您将练习解决计算问题、设计新算法并高效实施解决方案(使其运行时间不超过一秒)。


了解顶级公司的员工如何掌握热门技能

积累特定领域的专业知识
- 向行业专家学习新概念
- 获得对主题或工具的基础理解
- 通过实践项目培养工作相关技能
- 获得可共享的职业证书

该课程共有6个模块
欢迎来到 "数据结构与算法 "的第一个模块!在这里,我们将概述算法和数据结构的应用领域(提示:无处不在),并引导您完成几个编程挑战示例。编程挑战是本专业的一个重要部分(通常也是最难的部分!),因为要完全理解算法,唯一的方法就是实现它。编写正确、高效的程序很难;如果程序没有按你的计划运行,请不要感到惊讶--我们的第一个程序也没有运行!我们将通过展示如何实现你的第一个编程挑战来帮助你完成专业学习。我们还将介绍测试技巧,帮助您增加首次尝试就通过作业的机会。如果你的程序没有达到预期的效果,我们会告诉你如何修复,即使你还不知道你的实现是在哪个测试中失败的。
涵盖的内容
6个视频8篇阅读材料1个作业2个编程作业
在本模块中,您将了解到基于高效算法的程序解决相同问题的速度比基于幼稚算法的程序快数十亿倍。您还将学习如何在未实施算法的情况下估算算法的运行时间和内存。有了这些知识,您就能够比较各种算法,选择最高效的算法,并最终将其作为我们的编程挑战加以实施!
涵盖的内容
12个视频4篇阅读材料3个作业1个编程作业1个非评分实验室
在本模块中,您将学习一类看似天真却功能强大的算法--贪心算法。在学习了贪心算法背后的关键思想后,你可能会觉得贪心算法代表了算法上的瑞士军刀,可以用来解决本课程中几乎所有的编程难题。但要注意的是:除了我们将介绍的少数例外情况外,这种直观的想法在实践中很少奏效!因此,在使用贪心算法之前,必须先证明贪心算法总能产生最优解。在本模块的最后,我们将通过几个编程挑战来测试你对贪心算法的直觉和品味。
涵盖的内容
10个视频9篇阅读材料5个作业1个编程作业
在本模块中,您将学习一种名为 "分而治之 "的强大算法技术。基于这种技术,你将看到如何以比线性搜索快数百万倍的速度搜索庞大的数据库。你甚至会了解到,标准的乘法运算方法(你在小学时学过)远不是最快的!然后,我们将应用分而治之技术设计两种高效算法(合并排序和快速排序),用于对庞大的列表进行排序。最后,我们将证明这两种算法都是最优的,也就是说,没有一种算法能排序得更快!
涵盖的内容
20个视频5篇阅读材料8个作业1个编程作业
在本课程的最后一个模块中,您将学习到解决许多优化问题的强大算法技术--动态编程。事实证明,动态程序设计可以解决许多问题,而这些问题是所有试图用贪婪或分而治之策略来解决的问题都无法解决的。动态编程在实践中的应用数不胜数:从最大化电视台的广告收入,到搜索相似的互联网页面,再到基因查找(生物学家需要找到将一种基因转化为另一种基因的最少突变次数)。您还将了解到,同样的想法如何帮助自动进行拼写更正,以及显示同一文本两个版本之间的差异。
涵盖的内容
4个视频2篇阅读材料6个作业1个编程作业
在本模块中,我们将继续练习实施动态编程解决方案。
涵盖的内容
8个视频2篇阅读材料2个作业1个编程作业
获得职业证书
将此证书添加到您的 LinkedIn 个人资料、简历或履历中。在社交媒体和绩效考核中分享。
位教师



从 算法 浏览更多内容
- 状态:免费试用
Rice University
- 状态:免费试用
Stanford University
- 状态:预览
Coursera Instructor Network
- 状态:预览
Clemson University
人们为什么选择 Coursera 来帮助自己实现职业发展




学生评论
12,541 条评论
- 5 stars
71.83%
- 4 stars
21.44%
- 3 stars
4.20%
- 2 stars
1.05%
- 1 star
1.46%
显示 3/12541 个
已于 Aug 14, 2020审阅
Great Course. This series is great but sometimes you will get frustrated because of the questions as it is not easy, make sure to give those a time. Great satisfaction after solving them though
已于 May 28, 2021审阅
I am thankful to Coursera and all the professors who taught this course. This course helps me to understand all basics of algorithm. Looking forward to use my knowledge which I gained from this.
已于 Sep 28, 2017审阅
good course, I like the fact you can use a lot of languages for you programming exercises, the content is really helpful, I would like to have more indications from the grading system to save time.
常见问题
要获取课程资料、作业和证书,您需要在注册课程时购买证书体验。 您可以尝试免费试听,或申请资助。课程可能提供 "完整课程,无证书"。通过该选项,您可以查看所有课程资料,提交必要的评估,并获得最终成绩。这也意味着您无法购买证书体验。
注册课程后,您就可以访问专项课程中的所有课程,完成作业后还可以获得证书。您的电子证书将添加到您的 "成就 "页面--在那里,您可以打印证书或将其添加到您的 LinkedIn 个人资料中。
是的。在特定的学习课程中,如果您付不起注册费,可以申请助学金或奖学金。如果您选择的学习课程有助学金或奖学金,您可以在说明页面找到申请链接。
更多问题
提供助学金,