Princeton University
算法,第二部分
Princeton University

算法,第二部分

Robert Sedgewick
Kevin Wayne

位教师:Robert Sedgewick

342,283 人已注册

深入了解一个主题并学习基础知识。
4.9

(2,038 条评论)

中级 等级
需要一些相关经验
灵活的计划
6 周 在 10 小时 一周
自行安排学习进度
97%
大多数学生喜欢此课程
深入了解一个主题并学习基础知识。
4.9

(2,038 条评论)

中级 等级
需要一些相关经验
灵活的计划
6 周 在 10 小时 一周
自行安排学习进度
97%
大多数学生喜欢此课程

要了解的详细信息

作业

13 项作业

授课语言:英语(English)

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

Petrobras, TATA, Danone, Capgemini, P&G 和 L'Oreal 的徽标

该课程共有14个模块

欢迎阅读《算法》第二部分。

涵盖的内容

1个视频2篇阅读材料

我们定义了无向图 API,并考虑了邻接矩阵和邻接表的表示。我们介绍了搜索图的两种经典算法--深度优先搜索和广度优先搜索。我们还考虑了计算连接成分的问题,最后介绍了相关问题和应用。

涵盖的内容

6个视频2篇阅读材料1个作业

在本讲座中,我们将研究有向图。我们首先介绍有向图中的深度优先搜索和广度优先搜索,并描述从垃圾收集到网络爬行的各种应用。接下来,我们介绍一种基于深度优先搜索的算法,用于计算非循环数图的拓扑顺序。最后,我们实现了计算数图强成分的 Kosaraju-Sharir 算法。

涵盖的内容

5个视频1篇阅读材料1个作业1个编程作业

在本讲座中,我们将研究最小生成树问题。首先,我们将考虑该问题的通用贪婪算法。接下来,我们考虑并实现该问题的两种经典算法--Kruskal 算法和 Prim 算法。最后,我们将讨论一些应用和未决问题。

涵盖的内容

6个视频2篇阅读材料1个作业

在本讲座中,我们将研究最短路径问题。我们首先分析最短路径的一些基本性质和该问题的通用算法。我们将介绍并分析针对权重为非负的最短路径问题的 Dijkstra 算法。接下来,我们将考虑一种针对 DAG 的更快算法,即使权重为负也能奏效。最后,我们将介绍针对无负循环的边加权数字图的 Bellman-Ford-Moore 算法。我们还考虑了从内容感知填充到套利的各种应用。

涵盖的内容

5个视频1篇阅读材料1个作业1个编程作业

在本讲座中,我们将介绍最大流量和最小切割问题。我们从 Ford-Fulkerson 算法开始。为了分析其正确性,我们建立了最大流-最小切定理。接下来,我们考虑使用最短增量路径规则高效实现 Ford-Fulkerson 算法。最后,我们考虑了一些应用,包括双网匹配和棒球消除。

涵盖的内容

6个视频2篇阅读材料1个作业1个编程作业

在本讲座中,我们将讨论字符串和相关对象的专门排序算法。我们首先使用一个子程序对小范围内的整数进行排序。然后,我们将考虑两种经典的径向排序算法--LSD 和 MSD 径向排序。接下来,我们考虑一种特别高效的变体,它是 MSD 径向排序和 quicksort 的混合体,被称为 3-way radix quicksort。最后,我们将介绍后缀排序和相关应用。

涵盖的内容

6个视频1篇阅读材料1个作业

在本讲座中,我们将考虑使用字符串键的符号表的专门算法。我们的目标是建立一种与哈希算法一样快、甚至比二叉搜索树更灵活的数据结构。我们从多路尝试开始,接下来考虑三元搜索尝试。最后,我们将考虑基于字符的操作,包括前缀匹配和最长前缀,以及相关应用。

涵盖的内容

3个视频2篇阅读材料1个作业

在本讲座中,我们将讨论在一段文本中搜索子串的算法。我们从最坏情况下运行时间为二次方的暴力算法开始。接下来,我们考虑巧妙的 Knuth-Morris-Pratt 算法,它的运行时间在最坏情况下保证是线性的。然后,我们介绍 Boyer-Moore 算法,它的运行时间在典型输入情况下是亚线性的。最后,我们考虑 Rabin-Karp 指纹算法,该算法巧妙地利用散列来解决子串搜索和相关问题。

涵盖的内容

5个视频1篇阅读材料1个作业1个编程作业

正则表达式是一种指定字符串集合的方法。本讲座的主题是著名的 grep 算法,它可以确定给定文本是否包含字符串集合中的任何子串。我们将研究利用第 1 周的数图可达性实现的高效实现。

涵盖的内容

5个视频2篇阅读材料1个作业

我们研究并实现了几种经典的数据压缩方案,包括运行长度编码、哈夫曼压缩和 LZW 压缩。我们从第一原理出发,使用我们为此目的开发的二进制数据操作 Java 库,并以之前讲座中的优先级队列和符号表实现为基础,开发出高效的实现方法。

涵盖的内容

4个视频1篇阅读材料1个作业1个编程作业

本周的讲座围绕最大流和最短路径等问题解决模型的思想展开,新问题可以表述为这些问题的一个实例,然后用经典高效的算法来解决。为了使课程更加完整,我们将介绍理论计算机科学中的经典未解问题,该问题以算法效率概念为中心,引导我们寻找困难问题的高效解决方案。

涵盖的内容

4个视频2篇阅读材料1个作业

线性规划是解决问题的典型模型,而求解线性规划的单纯形法是应用最广泛的算法之一。在本讲座中,我们将概述运筹学中的这一核心主题,并介绍它与我们所考虑的算法之间的关系。

涵盖的内容

4个视频1篇阅读材料1个作业

是否存在一种通用的问题解决模型,我们想要解决的所有问题都可以归结为这种模型,并且我们知道一种有效的算法?您可能会惊讶地发现,我们并不知道这个问题的答案。在本讲座中,我们将介绍复杂度类别 P、NP 和 NP-complete,提出著名的 P = NP 问题,并结合本课程所涉及的算法来探讨其含义。

涵盖的内容

6个视频1篇阅读材料1个作业

位教师

授课教师评分
4.8 (295个评价)
Robert Sedgewick
Princeton University
7 门课程2,017,167 名学生
Kevin Wayne
Princeton University
5 门课程1,967,992 名学生

提供方

从 算法 浏览更多内容

人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.
自 2018开始学习的学生
''能够按照自己的速度和节奏学习课程是一次很棒的经历。只要符合自己的时间表和心情,我就可以学习。'
Jennifer J.
自 2020开始学习的学生
''我直接将从课程中学到的概念和技能应用到一个令人兴奋的新工作项目中。'
Larry W.
自 2021开始学习的学生
''如果我的大学不提供我需要的主题课程,Coursera 便是最好的去处之一。'
Chaitanya A.
''学习不仅仅是在工作中做的更好:它远不止于此。Coursera 让我无限制地学习。'

学生评论

4.9

2,038 条评论

  • 5 stars

    93.57%

  • 4 stars

    5.24%

  • 3 stars

    0.49%

  • 2 stars

    0.24%

  • 1 star

    0.44%

显示 3/2038 个

MS
5

已于 Feb 27, 2021审阅

XZ
5

已于 Feb 7, 2020审阅

MP
5

已于 Jan 12, 2024审阅

Coursera Plus

通过 Coursera Plus 开启新生涯

无限制访问 10,000+ 世界一流的课程、实践项目和就业就绪证书课程 - 所有这些都包含在您的订阅中

通过在线学位推动您的职业生涯

获取世界一流大学的学位 - 100% 在线

加入超过 3400 家选择 Coursera for Business 的全球公司

提升员工的技能,使其在数字经济中脱颖而出

常见问题