Satyam Shekhar
28 February 2019
Abstract data types
Abstract data type is basically a data type defining methodology that gives programmer
the ability to create data types with very specific, defined semantics sets. It is a very efficient
method of binding many complexly interrelated attributes associated with a data object and
may be separated according to the nature of the information that the attributes convey
regarding the data objects that they qualify. As a programmer, the data that we deal with
throughout the code, whether it is a traversal based value or an iterative type data, we need to
proceed with variable to store it and manipulate. Now, to proceed with the variable, the two
most important things are the data that we are going to be dealing with, and the associative
operations or behaviour of that data in the code. So keeping that in mind the type we assign
to the variable, which will bind these two constraints to the variable, is known as a data type.
Now these data types can either be simple or they can be complex. For example, if the data
consists of the roll numbers associated with the students of a university, then this data justifies
the int(integer) data type, which is a primitive data type. Now say that the data that we’re
dealing with is the specifications list of a phone. Now a phone’s specifications obviously
cannot be represented with a single data type, like an int, we’ll have to use a collection of data
types, each to represent different aspects of the phone, such as it’s physical size, processor
name, brand, price, operating system, and more. So, all of this comes together under a single
variable and which can be referred to as a complex data type. Now in different languages we
have multiple methodologies for implementation purposes; like in C language we have structs,
in languages like java and C++, we have the concept of classes. Now apart from this we have
lists, stacks, queues and maps as abstract data types. The reason we refer to them as abstract
data types is because they are simply concepts, and hence, in every other programming
language, we have different ways to implement these concepts.
Some practical applications of ADTs are - Tree data binding, Data manipulation and
Dynamic data traversal.
!1
!2