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

抽象数据类型(abstract data type,ADT)是带有一组操作的一些对象的集合。抽象数据类型是数学的抽象,只不过这种数据类型带有自己的操作。比如表、集合、图以及与它们各自的操作一起形成的这些对象都可以看做抽象数据类型,就像整数、实数、布尔数等都是数据类型一样。整数、实数、布尔数都有各自相关的操作,而抽象数据类型也是如此。对于集合ADT,可以有添加、删除、以及其它一些操作。也可以只要两种操作并和查找,这两种操作又在这个集合上定义了一种不同的ADT。

抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。抽象数据类型是一个数据模型及定义在该模型上的一组运算。对一个抽象数据类型进行定义时,必须给出它的名字及各运算的运算符名,即函数名,并且规定这些函数的参数性质。一旦定义了一个抽象数据类型及具体实现,程序设计中就可以像使用基本数据类型那样,十分方便地使用抽象数据类型。

Java类也考虑了ADT的实现,不过适当的隐藏了实现的细节。这样,程序中需要对ADT实施操作的任何其它部分可以通过调用适当的方法来进行。如果由于某种原因需要改变实现的细节,那么通过仅仅改变执行这些ADT操作的例程是很容易做到的。这种改变对于程序的其余部分是完全透明的。

对于每种ADT并不存在什么法则来告诉我们必须要具有哪些操作,这是一个设计决策。错误处理和结构调整(在适当的地方)一般也取决于程序的设计者。

猜你喜欢

转载自blog.csdn.net/manbulaiyinhepan/article/details/83793907