先决条件:抽象数据类型或ADT
为什么抽象数据类型成为必需?
- 较早的时候,如果程序员想读取文件,则将整个代码编写为读取物理文件设备。这就是抽象数据类型(ADT)出现的方式。
- 读取文件的代码已编写并放置在库中,可供所有人使用。如今,ADT的这一概念已在现代语言中使用。
例子:
读取键盘的代码是ADT。它具有一个数据结构,一个字符和一组可用于读取该数据结构的操作。
- ADT会执行必要的工作,而工作的进行方式则不是很在意。就像未指定的实现,可以称为Abstraction 。
- 考虑一下,我们想要保持销售中售出物品数量的记录。至少存在三种数据结构的可能性。一个人可以使用线性列表或数组,也可以是一个向量,以节省空间和动态内存分配,也可以是一个链表,这样就不会丢失任何项目。只要输入和正确获取数据,用户就不需要知道隐藏的实现。
- 有关定义,请参阅抽象数据类型
抽象数据类型模型
右侧显示“应用程序”和“抽象数据类型”之间的接口。 ADT由相互关联的数据结构和功能(私有和公共)组成。由于它们完全存在于ADT中,因此它们不在应用程序的范围之内。
- ADT数据结构
- 所有正在处理的数据都保存在一个数据结构中,并且用户不得知晓其实现。
- 同时,有关结构的所有数据都应存在于ADT内部,因为仅将数据封装在ADT中是不够的。
- ADT操作
- 数据通过接口通过应用程序插入,删除和更新。公开声明的功能可以直接访问,否则,因为只有参数名称和此类参数的编号对用户可用,因此不能直接访问。
- 对于要执行的特定任务,每个抽象数据类型都有一个特定的算法。