📜  需要抽象数据类型和ADT模型

📅  最后修改于: 2021-04-17 09:15:20             🧑  作者: Mango

先决条件:抽象数据类型或ADT

为什么抽象数据类型成为必需?

  • 较早的时候,如果程序员想读取文件,则将整个代码编写为读取物理文件设备。这就是抽象数据类型(ADT)出现的方式。
  • 读取文件的代码已编写并放置在库中,可供所有人使用。如今,ADT的这一概念已在现代语言中使用。

例子:
读取键盘的代码是ADT。它具有一个数据结构,一个字符和一组可用于读取该数据结构的操作。

  • ADT会执行必要的工作,而工作的进行方式则不是很在意。就像未指定的实现,可以称为Abstraction
  • 考虑一下,我们想要保持销售中售出物品数量的记录。至少存在三种数据结构的可能性。一个人可以使用线性列表数组,也可以是一个向量,以节省空间和动态内存分配,也可以是一个链表,这样就不会丢失任何项目。只要输入和正确获取数据,用户就不需要知道隐藏的实现。
  • 有关定义,请参阅抽象数据类型

抽象数据类型模型

右侧显示“应用程序”和“抽象数据类型”之间的接口。 ADT由相互关联的数据结构功能(私有和公共)组成。由于它们完全存在于ADT中,因此它们不在应用程序的范围之内。

  1. ADT数据结构
    • 所有正在处理的数据都保存在一个数据结构中,并且用户不得知晓其实现。
    • 同时,有关结构的所有数据都应存在于ADT内部,因为仅数据封装在ADT中是不够的。
  2. ADT操作
    • 数据通过接口通过应用程序插入删除更新。公开声明的功能可以直接访问,否则,因为只有参数名称和此类参数的编号对用户可用,因此不能直接访问。
    • 对于要执行的特定任务,每个抽象数据类型都有一个特定的算法