Data Structures Tutorial

Data Structures Tutorial Asymptotic Notation Structure and Union Array Data Structure Linked list Data Structure Type of Linked list Advantages and Disadvantages of linked list Queue Data Structure Implementation of Queue Stack Data Structure Implementation of Stack Sorting Insertion sort Quick sort Selection sort Heap sort Merge sort Bucket sort Count sort Radix sort Shell sort Tree Traversal of the binary tree Binary search tree Graph Spanning tree Linear Search Binary Search Hashing Collision Resolution Techniques

Misc Topic:

Priority Queue in Data Structure Deque in Data Structure Difference Between Linear And Non Linear Data Structures Queue Operations In Data Structure About Data Structures Data Structures Algorithms Types of Data Structures Big O Notations Introduction to Arrays Introduction to 1D-Arrays Operations on 1D-Arrays Introduction to 2D-Arrays Operations on 2D-Arrays Strings in Data Structures String Operations Application of 2D array Bubble Sort Insertion Sort Sorting Algorithms What is DFS Algorithm What Is Graph Data Structure What is the difference between Tree and Graph What is the difference between DFS and BFS Bucket Sort Dijkstra’s vs Bellman-Ford Algorithm Linear Queue Data Structure in C Stack Using Array Stack Using Linked List Recursion in Fibonacci Stack vs Array What is Skewed Binary Tree Primitive Data Structure in C Dynamic memory allocation of structure in C Application of Stack in Data Structures Binary Tree in Data Structures Heap Data Structure Recursion - Factorial and Fibonacci What is B tree what is B+ tree Huffman tree in Data Structures Insertion Sort vs Bubble Sort Adding one to the number represented an array of digits Bitwise Operators and their Important Tricks Blowfish algorithm Bubble Sort vs Selection Sort Hashing and its Applications Heap Sort vs Merge Sort Insertion Sort vs Selection Sort Merge Conflicts and ways to handle them Difference between Stack and Queue AVL tree in data structure c++ Bubble sort algorithm using Javascript Buffer overflow attack with examples Find out the area between two concentric circles Lowest common ancestor in a binary search tree Number of visible boxes putting one inside another Program to calculate the area of the circumcircle of an equilateral triangle Red-black Tree in Data Structures Strictly binary tree in Data Structures 2-3 Trees and Basic Operations on them Asynchronous advantage actor-critic (A3C) Algorithm Bubble Sort vs Heap Sort Digital Search Tree in Data Structures Minimum Spanning Tree Permutation Sort or Bogo Sort Quick Sort vs Merge Sort

Data Structures Tutorial

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, Computer Graphics etc.

There are two types of data structure:

1. Primitive data structure

2. Non-primitive data structure

Data Structure Tutorial


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:

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


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