第 4 课导读

数据抽象与序列课程导读,介绍本课的学习内容、预备知识和阅读材料

数据抽象与序列

还记得第 0.1 课里关于抽象的宏论,以及第 2 课中用高阶函数(higher-order function)对抽象的初探吗?在这一课,你终于可以动手创建一些真正有趣的抽象数据类型了。你将学到:编程时控制复杂度、分层抽象,能让代码干净、专业。

预备知识与学习内容

预备知识: 计算机科学的学习是累积的。请确保你已掌握之前所有的课,重点是第 1 课和第 2 课。

学习内容: 编程可以概括为下面这三大类(非常宽泛):

  • 存储数据
  • 提取数据
  • 操作数据

在第 2 课中,我们学习了过程抽象(procedural abstraction)。也就是说,我们学习了如何用抽象创建通用的、“可定制”的过程。这属于上述第三类:操作数据。例如,我们有一个数字列表——也就是我们的数据——想操作它,求出所有数字平方的和。我们通过抽象出的过程 sum 将其一般化了。如果你不记得了,建议花点时间复习。

本课讲的是数据抽象(data abstraction),属于前两类。我们将先介绍用于存储数据的数据结构(序对和列表),展示如何提取和操作它们(map,即映射),最后教你如何创建自己的抽象数据类型。

准备好了吗?

阅读材料

本课的相关阅读材料: