数据结构与算法 ADT(抽象数据类型)

来源:互联网 发布:cnmd是什么意思网络 编辑:程序博客网 时间:2024/05/16 07:23

ADT(abstract data type):是由用户定义的数据类型,它指定了一组数据集合以及能够在此集合上进行的操作。对于ADT我们只关心如何运用它们而不关心它的具体实现,即只告诉你使用它可以实现哪些功能,具体关于如何实现这些功能,并不介绍。

我们可以将ADT看做一个黑匣子,程序通过ADT相关的接口对其进行操作,内部细节我们不关心。这些接口操作集合我们分为以下四类:

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

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

数据结构可以通过以下两方面来描述:
它们如何存储和组织单个数据元素
提供哪些操作来存取和处理其上的数据

有很多常用的数据结构,如数组,链表,堆栈,队列,树等。所有的数据结构都会存储一组数据值,但对于如何组织单个数据项和提供哪些操作来处理数据集上有区别。

实现 ADT 时,需要根据具体问题来选择具体的数据结构。例如,实现打印队列最好选择 queue 数据结构,而 B-Tree 适合数据库索引。

原创粉丝点击