# Data Structures Tutorial

Data Structures (DS) tutorial provides basic and advanced concepts of Data Structure. Our Data Structure tutorial is designed for beginners and professionals.

Data Structure is a way to store and organize data so that it can be used efficiently.

Our Data Structure tutorial includes all topics of Data Structure such as Array, Pointer, Structure, Linked List, Stack, Queue, Graph, Searching, Sorting, Programs, etc.

### What is Data Structure?

The data structure name indicates itself that coordinating the data in memory. There are numerous methods of getting sorted out the data in the memory as we have just observed one of the data structures, i.e., exhibit in C language. Cluster is an assortment of memory components in which data is put away consecutively, i.e., in a steady progression. As such, we can say that cluster stores the components in a ceaseless way. This association of data is finished with the assistance of a variety of data structures. There are additionally alternate approaches to sort out the data in memory. We should see the various sorts of data structures.

The data structure isn’t any programming language like C, C++, java, and so on It is a bunch of calculations that we can use in any programming language to structure the data in the memory.

To structure the data in memory, ‘n’ number of calculations were proposed, and every one of these calculations are known as Abstract data types. These theoretical data types are the arrangement of rules.

### Types of Data Structures

There are two types of data structures:

• Primitive data structure
• Non-primitive data structure

Primitive Data structure

The primitive data structures are primitive data types. The int, char, float, double, and pointer are the primitive data structures that can hold a single value.

Non-Primitive Data structure

The non-primitive data structure is divided into two types:

• Linear data structure
• Non-linear data structure

Linear Data Structure

The arrangement of data in a sequential manner is known as a linear data structure. The data structures used for this purpose are Arrays, Linked list, Stacks, and Queues. In these data structures, one element is connected to only one another element in a linear form.

When one element is connected to the ‘n’ number of elements known as a non-linear data structure. The best example is trees and graphs. In this case, the elements are arranged in a random manner.

We will discuss the above data structures in brief in the coming topics. Now, we will see the common operations that we can perform on these data structures.

Data structures can also be classified as:

• Static data structure: It is a type of data structure where the size is allocated at the compile time. Therefore, the maximum size is fixed.
• Dynamic data structure: It is a type of data structure where the size is allocated at the run time. Therefore, the maximum size is flexible.

### Major Operations

The major or the common operations that can be performed on the data structures are:

• Searching: We can search for any element in a data structure.
• Sorting: We can sort the elements of a data structure either in an ascending or descending order.
• Insertion: We can also insert the new element in a data structure.
• Updation: We can also update the element, i.e., we can replace the element with another element.
• Deletion: We can also perform the delete operation to remove the element from the data structure.

### Which Data Structure?

A data structure is a method of getting sorted out the data with the goal that it very well may be utilized effectively. Here, we have utilized the word effectively, which regarding both the reality. For instance, a stack is an ADT (Abstract data type) which utilizes either exhibits or connected list data structure for the usage. Accordingly, we infer that we require some data structure to execute a specific ADT.

An ADT determines what can anyone do and data structure advises how it is to be finished. As such, we can say that ADT gives us the diagram while data structure gives the usage part. Presently the inquiry emerges: how might one become acquainted with which data structure to be utilized for a specific ADT?.

As the diverse data structures can be executed in a specific ADT, yet the various usage are looked at for time and space. For instance, the Stack ADT can be actualized by the two Arrays and connected list. Assume the cluster is giving time effectiveness while the connected list is giving space proficiency, so the one which is the most appropriate for the current client’s necessities will be chosen.