University of California San Diego

数据结构

本课程是 数据结构和算法 专项课程 的一部分

Neil Rhodes
Daniel M Kane
Michael Levin

位教师:Neil Rhodes

298,431 人已注册

包含在 Coursera Plus

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

(5,547 条评论)

中级 等级

推荐体验

灵活的计划
2 周 在 10 小时 一周
自行安排学习进度
93%
大多数学生喜欢此课程
深入了解一个主题并学习基础知识。
4.6

(5,547 条评论)

中级 等级

推荐体验

灵活的计划
2 周 在 10 小时 一周
自行安排学习进度
93%
大多数学生喜欢此课程

要了解的详细信息

可分享的证书

添加到您的领英档案

作业

9 项作业

授课语言:英语(English)

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

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

积累特定领域的专业知识

本课程是 数据结构和算法 专项课程 专项课程的一部分
在注册此课程时,您还会同时注册此专项课程。
  • 向行业专家学习新概念
  • 获得对主题或工具的基础理解
  • 通过实践项目培养工作相关技能
  • 获得可共享的职业证书

该课程共有6个模块

在本模块中,您将学习贯穿本课程其余部分的基本数据结构。 在本模块开始时,我们将详细介绍基本构件:数组和链表。在此基础上,我们将建立两个重要的数据结构:堆栈和队列。接下来,我们将学习树:举例说明树在计算机科学中的应用、实现方式以及遍历树的各种方法。完成本模块后,你将能够实现这些数据结构中的任何一种,并对操作的成本以及使用每种数据结构所涉及的权衡问题有一个扎实的了解。

涵盖的内容

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

在本模块中,我们将讨论动态数组:一种在事先不知道需要多少元素的情况下使用数组的方法。在此,我们还将讨论摊销分析:一种确定操作序列中操作的摊销成本的方法。摊销分析通常用于分析算法的性能,当直接分析得出的结果不能令人满意时,摊销分析有助于证明算法实际上是高效的。摊销分析既用于动态数组分析,也将在本课程的最后用于分析 Splay 树。

涵盖的内容

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

在本模块开始时,我们将考虑优先级队列,优先级队列可用于高效调度计算机操作系统或现实生活中的作业、排序庞大的文件(这是任何大数据处理算法最重要的组成部分)以及高效计算图中的最短路径(这是我们将在下一门课程中介绍的主题)。因此,优先队列在许多编程语言中都有内置实现,包括 C++、Java 和 Python。我们将看到,这些实现都基于一个美丽的想法,即在数组中存储一棵完整的二叉树,只需几行代码就能实现所有优先级队列方法。然后,我们将切换到不相邻集合数据结构,这种结构用于动态图连接和图像处理等。我们将再次看到简单而自然的想法是如何实现既易于编码又非常高效的。完成本模块后,你将能够从头开始高效地实现这两种数据结构。

涵盖的内容

15个视频6篇阅读材料3个作业1个编程作业1个插件

在本模块中,你将学习到非常强大且应用广泛的散列技术。它的应用包括编程语言的实现、文件系统、模式搜索、分布式键值存储等。你将学习如何实现数据结构,以存储和修改对象集以及从一类对象到另一类对象的映射。你会发现,简单的实现要么消耗大量内存,要么速度很慢,然后你将学习如何实现哈希表,它使用线性内存,平均工作速度为 O(1)!最后,你将了解散列函数如何用于现代分布式系统,以及如何用于优化 Dropbox、Google Drive 和 Yandex Disk 等服务的存储!

涵盖的内容

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

在本模块中,我们将学习二叉搜索树,这是一种在动态变化的有序集合上进行搜索的数据结构。你将了解完成这项任务的许多困难,以及克服这些困难的方法。要做到这一点,你需要学习二叉搜索树的基本结构,如何在不破坏这种结构的情况下插入和删除,以及如何确保树保持平衡。

涵盖的内容

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

在本模块中,我们将继续研究二叉搜索树。我们将研究一些非难应用。然后,我们将研究新型平衡搜索树--Splay 树。它们能动态地适应查询,在很多方面都是最优的。

涵盖的内容

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

获得职业证书

将此证书添加到您的 LinkedIn 个人资料、简历或履历中。在社交媒体和绩效考核中分享。

位教师

授课教师评分
4.5 (721个评价)
Neil Rhodes
University of California San Diego
7 门课程740,734 名学生
Daniel M Kane
University of California San Diego
5 门课程722,886 名学生
Michael Levin
University of California San Diego
7 门课程763,761 名学生

提供方

从 算法 浏览更多内容

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

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

学生评论

4.6

5,547 条评论

  • 5 stars

    73.56%

  • 4 stars

    20.67%

  • 3 stars

    3.58%

  • 2 stars

    0.73%

  • 1 star

    1.44%

显示 3/5547 个

MA
4

已于 Aug 6, 2019审阅

ME
5

已于 Aug 25, 2020审阅

AS
5

已于 Nov 22, 2019审阅

Coursera Plus

通过 Coursera Plus 开启新生涯

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

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

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

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

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

常见问题