Logo
Section 1 / 8

简介

了解数据结构如何帮助提升我们的生活质量。

导入

简介

了解数据结构如何帮助提升我们的生活质量。

全球每一个计算机科学课程都包含一门数据结构与算法课程。数据结构的重要性不言而喻;它们提升了我们的生活质量,甚至经常挽救生命。许多价值数百万乃至数十亿美元的公司都是基于数据结构建立起来的。本课程使用Python编写可执行程序,涵盖各类类和示例库,用于演示每种数据结构及其相关方法的工作原理。

现实世界中的例子

如果我们仔细思考一下,就会意识到我们一直在与数据结构互动。

  • **打开一个文件**:文件系统中的数据结构用于定位磁盘上该文件的各个部分以便读取。这并不容易;磁盘包含数亿个存储块,而我们的文件内容可能分布在其中任意一个块中。
...
  • **在手机中查找联系人**:当我们在拨号或输入时还未完成,系统就能根据部分信息快速查找联系人号码。这并不简单;手机中可能保存了大量联系人信息——所有曾经通过电话或邮件联系过的人——而手机的处理器速度有限,内存也不多。
...
  • **登录我们最喜欢的社交网络**:网络服务器利用我们的登录信息查找账户信息。这并不容易;最流行的社交网络拥有数亿活跃用户。
  • **进行网页搜索**:搜索引擎使用数据结构来查找包含我们搜索关键词的网页。这并不容易;互联网上有超过85亿个网页,每个网页都包含大量潜在的搜索关键词。
...
  • **拨打紧急服务电话**:应急服务网络通过一个将电话号码映射到地址的数据结构,快速定位来电者的位置,从而立即派遣警车、救护车或消防车。这一点至关重要;打电话的人可能无法准确说出自己的位置,哪怕是一点延迟也可能导致生死之别。
...

课程内容

本课程的目标是为本科生计算机科学学生和软件工程师全面讲解各种数据结构及其实现方法。以下是课程涵盖的主要主题:

  • 基于数组的线性数据结构实现
  • 基于链表的线性及更高级数据结构实现
  • 利用链表实现方式构建树、图以及基于外部存储的数据结构

每一章都从主题介绍开始,深入探讨其实现细节,并讨论预期的优化策略,最后简要提及相关的其他实现方式和概念。请实际运行代码以观察其工作过程,并自由尝试修改代码,以增强你的理解与信心。

目标受众

本课程覆盖了本科计算机科学课程中的核心内容,适合学生和专业人士学习或重温相关概念知识与编程语法。

...

先修要求

本课程并非入门级别。它不会解释课程中所用编程语言的基本语法。如果你看到一段代码能正常运行但不太熟悉,请将其视为一次学习新知识的机会,充分发挥你的探索能力。

效率的必要性