什么是抽象数据类型?
根据百度百科:抽象数据类型(Abstract Data Type,ADT)是计算机科学中具有类似行为的特定类别的数据结构的数学模型;或者具有类似语义的一种或多种程序设计语言的数据类型。抽象数据类型是描述数据结构的一种理论工具,其目的是使人们能够独立于程序的实现细节来理解数据结构的特性。抽象数据类型的定义取决于它的一组逻辑特性,而与计算机内部如何表示无关。
这个定义听起来确实很抽象 0.0
换种方法说,我们知道一些固定的数据类型比如int、float、char、double。。。。。。巴拉巴拉,但是这些好像并不能满足我们想做的事情。于是通过抽象数据类型,我们可以创造自己需要的数据类型,比如想实现一个Person数据类型表示人类,Dog数据类型表示狗子,人类可以跑跳学习睡觉,狗子可以跑跳叫但是它不用学习。抽象数据类型就是我们自定义的一种数据结构,它相当于把一些我们需要实现某些功能需要用到的一些相互关联的基本数据类型打包起来,用作新的数据类型,在这个新的数据类型上我们可以定义多种操作,来使这个抽象数据类型获得强大的功能,比如我们定义了一个狗子的抽象数据类型,我们需要让它实现跑、跳、睡觉、叫等操作来实现一只完整的狗子。
那么问题来了,是我冲编译器大吼一声:“呔!妖精!给我变出个狗子数据类型!”我的编译器就能实现一个抽象数据类型吗?这个问题,也许多年之后凭借强大的人工智能可以实现,至少现在不能。
所以我们需要按照规范来定义抽象数据类型。
抽象数据类型的定义
抽象数据类型可以使用三元组来表示
ADT = <D, S, P>
D :