Tom*_*014 33 language-agnostic terminology abstract-data-type
我目前正在研究抽象数据类型(ADT),但我根本没有得到这个概念.有人可以向我解释这实际上是什么吗?什么是收藏,包和List ADT?简单来说?
Pre*_*raj 69
抽象数据类型(ADT)是一种数据类型,其中仅定义行为但不实现.
与ADT相反的是具体数据类型(CDT),其中包含ADT的实现.
示例:
Array, List, Map, Queue, Set, Stack, Table, Tree, and Vector是ADT.这些ADT中的每一个都具有许多实现,即CDT.容器是高于所有ADT的高级ADT.
现实生活中的例子:
书是抽象的(电话簿是一种实现)

Bil*_*ard 16
该Abstact数据类型维基百科的文章有很多可说的.
在计算机科学中,抽象数据类型(ADT)是具有相似行为的某类数据结构的数学模型; 或者对于具有类似语义的一种或多种编程语言的某些数据类型.抽象数据类型是间接定义的,只能通过可能对其执行的操作以及对这些操作的影响(以及可能的成本)的数学约束来定义.
稍微具体而言,您可以将Java的List界面作为示例.界面根本没有明确定义任何行为,因为没有具体的List类.接口仅定义一组其他类(例如ArrayList和LinkedList)必须实现的方法才能被视为a List.
一个集合是另一个抽象数据类型.在Java的情况下Collection接口,它甚至比更抽象List,因为
该
List接口放置额外的约定,超过指定Collection接口上的合同iterator,add,remove,equals,和hashCode方法.
一个包也称为multiset.
在数学中,multiset(或bag)的概念是集合概念的概括,其中成员被允许不止一次出现.例如,有一个唯一的集合包含元素a和b而没有其他元素,但是有许多具有此属性的多集合,例如包含两个副本a和一个b的多集合或包含三个副本的多个集合a和b都是.
在Java中,Bag将是一个实现非常简单的接口的集合.您只需要能够将项目添加到包中,检查其大小,并迭代它包含的项目.有关示例实现,请参阅Bag.java(来自Sedgewick和Wayne的算法第4版).
| 归档时间: |
|
| 查看次数: |
92184 次 |
| 最近记录: |