## Data Structure

It defines the way in which data can be stored and used efficiently.

These are classified in two categories:

**Linear Data Structures**: In this type data are processed one after another. Examples: Array, Linked List and Queue**Non-Linear Data Structures**: In this type insertion and deletion is not possible in a linear fashion. Examples: Tree, Graph

#### Abstract Data Type

It can be defined as a data type whose properties are specified independently of any particular implementation. Example: When we declare a variable x of type int we know that x can store a number without decimal point in the range specified by the programming language and can be used in arithmetic and logical operations.