数据类型&抽象数据类型 是一个东西吗?

计算机科学是与实践密切相关的,理应紧密结合实践去学习,切勿与数学一样,执着于在概念上咬文嚼字...
数据类型是借的高级计算机语言里的概念,比如C语言就预设了int,char,数组等数据类型。
我的理解,数据类型的设计需要具体到一门计算机语言中去,比如C跟Java中都有数组这一类型,但是却是有些许差别,而抽象数据类型是数学上的,逻辑描述,它不去规定细枝末节,不去规定那些具体物理存储方式,在设计了数组这一抽象数据类型后,无论是C还是Java都可以根据实际情况去实现所规定的设计。在上机实操,实现一个ADT时,显然你必须使用一门计算机语言去实现想要的效果,实际,此时就已经结束ADT的设计,转而作为一名工程师去实现对应的数据结构。抽象二字表明此种设计模式的通用性,确定了该结构的逻辑描述,也可以说数学模型之后,程序员只需要根据每种语言的特点去完成特定的实现即可,它减少了工作量,提高了程序开发的效率,并且具有一种聪明的美。举个不恰当的例子,ADT之于数据结构,类似Java里的接口之于类。在设计ADT时,不需要去思考成品代码如何写,仅仅解决数学上的描述即可。有种错误的想法是,ADT是自己设计的,数据结构是给你设计好的。光从数组这一个例子就可以证明其错误。用一个词来形容ADT?我会说,一劳永逸!

posted on 2025-01-29 23:38  VoidHan21  阅读(11)  评论(0)    收藏  举报