The data structure is a way of storing and organizing data in a computer system. So that we can use the data quickly, which means the information is stored and held in such a way that it can be easily accessed later at any time. Data structures are used widely in almost every aspect of computer science, such as operating systems, compiler design, Artificial intelligence, graphics, etc.

There are two types of data structure:

1. Primitive data structure

2. Non-primitive data structure

### Primitive data structure

The primitive data structure can be directly controlled by computer commands. That means it is defined by the system and compiler.

There are the following types of Primitive data structure, that is shown in the figure:

1. Integer

2. Character

3. Double

4. Float

5. String

**Integer:** In the integer, it
includes all mathematical values, but it is not include decimal value. It is
represented by the int keyword in the program.

**Character:** The character is
used to define a single alphabet in the programming language. It is represented
by the char keyword in the program.

**String:** The group of the
character is called a string. It is represented by the string keyword in the
program. The string is written with a double quotation mark (“-“). For
example: “My name is Bob”.

**Float and Double: **Float and
double is used for real value.

### Non-primitive data structure

The Non-primitive data structure cannot be directly controlled by computer commands. The Non-primitive data structure is derived from the primitive data structure.

There are two types of non-primitive data structure:

1. Linear data structure

2. Non-linear data structure

### Linear data structure

Linear data structures are those
data structures in which data elements are stored and organized in a linear
manner, in which one data element is connected to another as a line. **For example**, array, linked list, queue,
stack.

### Non-linear data structure

Non-linear data structures are those
data structures in which data elements are not organized in a linear manner. In
this, a data element can be associated with any other data element. **For example**, tree and graph.

### Data Structure Operations

Various data structure operations are used to process the data in a data structure which is as follows:

**Traversing:**Visiting each element of the data structure only once is called traversing.**Searching:**Finding the location of the record or data in the data structure is called searching.**Inserting:**Adding the same type of element to the data structure is called insertion. An element can be added anywhere in the data structure.**Deleting:**Removing an element from a data structure is called Deletion. An element can also be removed from anywhere in a data structure.**Sorting:**Arranging a record in a logical order in the data structure is called shorting.**Merging:**In the data structure, the record is stored in many different files. Adding these different files to a single file is called merging.

### Algorithm

An algorithm is a finite number of steps of well-defined instructions for solving a specific problem. The algorithm is used to read any problem and define its solution. Time complexity and space complexity is checked by the algorithm.

### Time complexity

The time complexity of an algorithm is the amount of time the algorithm takes to complete its process. Time complexity is calculated by calculating the number of steps performed by the algorithm to complete the execution.

### Space complexity

The space complexity of an algorithm is the amount of memory used by the algorithm. Space complexity includes two spaces: Auxiliary space and Input space. The auxiliary space is the temporary space or extra space used during execution by the algorithm. The space complexity of an algorithm is expressed by **Big O (O(n))** notation. Many algorithms have inputs that vary in memory size. In this case, the space complexity that is there depends on the size of the input.

**Data Structure Index**

- Data Structure
- Asymptotic Notation
- Structure and Union
- Array
- Pointer
- Linked list
- Type of Linked list
- Queue
- Stack
- Implementation of Stack using array
- Implementation of Stack using linked list
- Sorting
- Insertion sort
- Quick sort
- Selection sort
- Heap sort
- Merge sort
- Bucket sort
- Radix sort
- Shell sort
- Tree
- Spanning tree
- Graph
- Searching
- Breadth first search (BFS)
- Depth first search (DFS)