data structure

ADT

ADT (abstract data type) 是由用户定义的数据类型,它指定了一组数据值的集合及可作用在这些数据值上的一组操作。ADT 的定义与它的具体实现无关,因此我们可以只关注如何使用它,而无需关注它的具体实现。

ADT 可被看作为一个黑盒子。用户程序与 ADT 实例的交互是通过调用定义在 ADT 接口上的操作进行的。这些操作集可分为 4 类:

  • Constructors: 创建和初始化 ADT 的实例
  • Accessors: 返回实例中的数据,而不进行修改
  • Mutators: 修改 ADT 实例的内容
  • Iterators: 逐个处理单个数据组件

数据结构

ADT 将定义与实现进行了分离。我们自定义的 ADT 必须要有一个实现,而实现 ADT 时我们所做出的选择会影响实现的功能和效率。

数据结构可以通过以下两方面来描述:

  1. 它们如何存储和组织单个数据元素
  2. 提供哪些操作来存取和处理其上的数据

有很多常用的数据结构,如数组,链表,堆栈,队列,树等。所有的数据结构都会存储一组数据值,但对于如何组织单个数据项和提供哪些操作来处理数据集上有区别。实现 ADT 时,需要根据具体问题来选择具体的数据结构。例如,实现打印队列最好选择 queue 数据结构,而 B-Tree 适合数据库索引。

posted @ 2021-03-28 19:16  201810420204  阅读(26)  评论(0)    收藏  举报