Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Difference between Abstract and Concrete Data Structure

  • Difficulty Level : Basic
  • Last Updated : 15 Jun, 2021

In this article we will discuss the differences between Abstract and Concrete data structure or type.

Abstract Data Types(ADT) : 
It is a type (or class) of objects whose behaviour is defined by a set of values and a set of operations. The user interacts with the interface, using the operations that have been specified by the abstract data type. It offers a high level use of a concept independent of it’s implementation. They  package data structure and operations on them hiding internal details.

Attention reader! Don’t stop learning now.  Practice GATE exam well before the actual exam with the subject-wise and overall quizzes available in GATE Test Series Course.

Learn all GATE CS concepts with Free Live Classes on our youtube channel.



Examples –
Use a class with private data and public functions to represent the record.

public class date
{
 private int day;
 private string  month;
 private int year;
};
public  void increment ()
{
 return day;
}

Concrete Data Types(CDT) : 
A concrete data type is the opposite of an abstract data type. It is a specialized solution-oriented data type that represents a well-defined single solution domain concept. A concrete data type is rarely reusable beyond its original use, but can be embedded or composed with other data types to form larger data types. They are direct implementations of a relatively simple concept. It does not hide anything. 

Examples – 
Use a struct with public data and no functions to represent the record 

struct  date
{
 int day;
 string month;
 int year;
};

Difference Between Class And Object :
There are many differences between object and class. Some differences between object and class are given below:

S. No.

Abstract Data Types or structure (ADT)

Concrete Data Types or structure (CDT)

1Abstract Data Types or structures describe the data and the operations to manipulate and change it.Concrete data types or structures provide  how these operations are actually implemented. 
2Most of the program becomes independent of the abstract data types representation, so it can be improved without breaking the program. Which is not possible in Concrete Data Types or structure (CDT)
3It’s easier for each part of a program to use an implementation of its data types and that will be more efficient.It is not so efficient compared to ADT.
4Implementation of a high level conceptImplementation of a simple concept
5It is usable beyond its original use.It is rarely reusable beyond its original use.
6It hides the internal details.It doesn’t hide anything.
7It uses class.It uses structure.
8Examples- lists, sets, stacks.Examples-Arrays, linked lists, trees, graphs.
My Personal Notes arrow_drop_up
Recommended Articles
Page :