What is ADT in Data Structures? Why Data structures are represented in ADT?

By
Advertisement
The term ADT refers to ABSTRACT DATA TYPE in Data Structures.When studying algorithms the ADT allows one to focus on the conceptual constructions and performance analysis without getting bogged down in implementation details and artifacts which arise from specific equipment.
  •   ADT is a conceptual model of information structure.
  •  An ADT specifies the components, their structuring relationships and a list of operations that are   allowed to be performed.
  •  ADTs are independent of data representation and implementation of operations.
  •   It is just a specification, no design or implementation info is included.
  •   Specification involves the “what”s of theoperations, not the “how”s.

Suppose, in stack ADT you know what you want to do with that data structure. The methods i.e. push, pop, checking if the stack is empty or not and the details of these methods are part of ADT . You can implement a stack using a 1-D array or linked list but we don't bother about these implementation details while defining ADT.

Why Data structures are represented in ADT?

To manage the complexity of problems and the problem-solving process, computer scientists use abstractions to allow them to focus on the “big picture” without getting lost in the details. By creating models of the problem domain, we are able to utilize a better and more efficient problem-solving process. These models allow us to describe the data that our algorithms will manipulate in a much more consistent way with respect to the problem itself.

Earlier, we referred to procedural abstraction as a process that hides the details of a particular function to allow the user or client to view it at a very high level. We now turn our attention to a similar idea, that of data abstraction. An abstract data type, sometimes abbreviated ADT, is a logical description of how we view the data and the operations that are allowed without regard to how they will be implemented. This means that we are concerned only with what the data is representing and not with how it will eventually be constructed. By providing this level of abstraction, we are creating an encapsulation around the data. The idea is that by encapsulating the details of the implementation, we are hiding them from the user’s view. This is called information hiding.

Source:

1. http://interactivepython.org
2. https://www.quora.com

0 comments:

Post a Comment