0% found this document useful (0 votes)
11 views1 page

Abstact Data Type

An abstract data type (ADT) is a mathematical model defining data types by their behavior from a user's perspective, focusing on possible values and operations. Unlike data structures, which are concrete implementations, ADTs emphasize logical behavior and can be specified through axiomatic or operational semantics. Although ADTs are theoretical and not directly supported by mainstream programming languages, they inform the design of algorithms and data structures.

Uploaded by

rg8237m
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views1 page

Abstact Data Type

An abstract data type (ADT) is a mathematical model defining data types by their behavior from a user's perspective, focusing on possible values and operations. Unlike data structures, which are concrete implementations, ADTs emphasize logical behavior and can be specified through axiomatic or operational semantics. Although ADTs are theoretical and not directly supported by mainstream programming languages, they inform the design of algorithms and data structures.

Uploaded by

rg8237m
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

In computer science, an abstract data type (ADT) is a mathematical

model for data types, where a data type is defined by its behavior
(semantics) from the point of view of a user of the data, specifically in
terms of possible values, possible operations on data of this type, and
the behavior of these operations. This contrasts with data structures,
which are concrete representations of data, and are the point of view of
an implementer, not a user.
Formally, an ADT may be defined as a "class of objects whose logical
behavior is defined by a set of values and a set of operations";[1] this is
analogous to an algebraic structure in mathematics. What is meant by
"behavior" varies by author, with the two main types of formal
specifications for behavior being axiomatic (algebraic) specification and
an abstract model;[2] these correspond to axiomatic
semantics and operational semantics of an abstract machine,
respectively. Some authors also include the computational
complexity ("cost"), both in terms of time (for computing operations) and
space (for representing values). In practice many common data types
are not ADTs, as the abstraction is not perfect, and users must be aware
of issues like arithmetic overflow that are due to the representation. For
example, integers are often stored as fixed width values (32-bit or 64-bit
binary numbers), and thus experience integer overflow if the maximum
value is exceeded.
ADTs are a theoretical concept in computer science, used in the design
and analysis of algorithms, data structures, and software systems, and
do not correspond to specific features of computer languages—
mainstream computer languages do not directly support formally
specified ADTs. However, various language features correspond to
certain aspects of ADTs, and are easily confused with ADTs proper;
these include abstract types, opaque data types, protocols, and design
by contract. ADTs were first proposed by Barbara Liskovand Stephen N.
Zilles in 1974, as part of the development of the CLU language

You might also like