© 2021 - First Crazy Developer (Abhishek Kumar)

### Data Structure and its Importance

Data Structure is process through which we can collect and organize data in best way as well as perform operation on that in most effective way. If we have good understanding of data structures then we are specialized in organizing and storing data. Data structure is designed to organized data to suit a specific purpose so we can access and perform operation with in appropriate ways.

There are mainly two types of data structure:

a.) Primitive Data Structures.
b.) Abstract Data Structure

Primitive Data Structures: Primitive data types like integer,float, boolean & char etc. Concept to handling these types of data types in efficient way known as Primitive Data Structures.

Abstract Data Structure: We have also complex type of data types like linked list, tree, graph, stack & queue etc. Concept to handling complex, connected and large amount of data in an appropriate way known as Abstract Data Structure.

There are two types of Abstract Data Structures:

• Stacks: It is a simple data structure that allows adding and removing elements in a particular order. Every time an element is added, it goes on the top of the stack, the only element that can be removed is the element that was at the top of the stack, just like a pile of objects.
• Queue: Queue is also an abstract data type or a linear data structure, in which the first element is inserted from one end called REAR(also called tail), and the deletion of existing element takes place from the other end called as FRONT(also called head). This makes queue as FIFO data structure, which means that element inserted first will also be removed first. The process to add an element into queue is called Enqueue and the process of removal of an element from queue is called Dequeue.

Note: In other blog we will more discuss Abstract Data Structures.

After whole discussion on Data Structures move ahead, but first, here’s an important question: "What is Algorithm?"

Algorithm is a set of rules or logic defined in proper flow to complete a predefined task. This is not a complete code or program, it is just the core logic(solution) of a problem, which can be expressed either as an informal high level description as pseudo code or using a flowchart. If algorithm is efficient and fast then our data structures of programming is good.

Again we have an important question: "How to decide that algorithm is efficient & fast?"

If our Algorithm takes less time to execute and consumes less memory space then we can say that it is algorithm is efficient & fast. The performance of an algorithm is measured on the basis of following properties:

• Space Complexity: It’s the amount of memory space required by the Algorithm, during the course of its execution. Space complexity must be taken seriously for multi-user systems and in situations where limited memory is available.
• Time Complexity: It is a way to represent the amount of time needed by the program to run to completion.

In the above statements we can see and understand the purpose of Data Structures & Algorithm. In these days mostly programmer doesn't care that. They just write their code to complete specific task without care these things. We must thinks how can we write our code most efficient & proper way. Algorithm always helps us to do that. We must know and practice sorting & understand their concepts with the space & time complexity.

Look at the following point of sorting:

1. Bubble Sort
2. Insertion Sort
3. Selection Sort
4. Quick Sort
5. Merge Sort
6. Heap Sort

In next blog we will start discussion about Sorting and their types.