# Top 100 Data Structures and Algorithms (DSA) ## PrepInsta Data Structures & Algorithms

Below you will find all the important Data Structures code that are important for you to learn DSA Preparation for Placements and College examinations and ## PrepInsta Data Structures & Algorithms

Below you will find all the important Data Structures code that are important for you to learn DSA Preparation for Placements and College examinations and cover DSA Syllabus for placement

## Searching

Searching algorithms are easy to learn but are really important for college semester exams and companies offering package between 3 – 6 LPA would ask direct searching questions in online test/ interviews.

## Sorting

Sorting algorithms are easy to learn but are really important for college semester exams and companies offering package between 3 – 6 LPA would ask direct searching questions in online test/ interviews.

## Sorting

Sorting algorithms are easy to learn but are really important for college semester exams and companies offering package between 3 – 6 LPA would ask direct searching questions in online test/ interviews. Linked List is one of the most crucial topics which is easy once understood thoroughly. This topic is very important for both your college semester examinations as well as for placement purposes.

• Introduction to Linked List in Data Structure
C | C++ | Java
• Singly Linked List in –
C | C++ | Java
• Insertion in singly Linked List –
C | C++ | Java
• Insertion at beginning in singly Linked List  –
C | C++Java
• Insertion at nth position in singly Linked List  –
C | C++Java
• Insertion at end in singly Linked List  –
C | C++Java
• Deletion in singly Linked List  –
C | C++Java
• Deletion from beginning in singly linked list :
C | C++ | Java
• Deletion from nth position in singly linked list :
C | C++ | Java
• Deletion from end in singly linked list :
C | C++ | Java
• Linked List Insertion and Deletion –
C | C++Java
• Reverse a linked list without changing links between nodes (Data reverse only) –
C | C++Java
C | C++Java
• Print reverse of a linked list without actually reversing –
C |C++Java
• Print reverse of a linked list without actually reversing –
C |C++Java
• Insertion in the middle Singly Linked List –
C | C++Java
• Insertion in a Sorted Linked List –
C | C++Java
• Delete alternate nodes of a Linked List –
C | C++Java
• Find middle of the linked list –
C | C++Java
• Reverse a linked list in groups of given size –
C | C++Java
• Find kth node from end of the linked list –
C | C++Java
• Append the last n nodes of a linked list to the beginning of the list –
C | C++Java
• Check whether linked list is palindrome or not –
C | C++Java
• Fold a Linked List –
C | C++Java
• Insert at given Position –
C | C++Java
• Deletion at given Position –
C | C++Java

• Introduction to Doubly Linked list in Data Structure
• Doubly Linked List in –
C | C++ | Java
• Insertion in doubly linked list –
C | C++ | Java
• Insertion at beginning in doubly linked list –
C | C++ | Java
• Insertion at end in doubly linked list –
C | C++ | Java
• Insertion at nth node in doubly linked list –
C | C++ | Java
• Deletion in doubly linked list  –
C | C++ | Java
• Deletion from beginning in doubly linked list :
• Deletion from nth in doubly linked list :
C | C++ | Java
• Deletion from end in doubly linked list :
C | C++ | Java
• Insertion and Deletion in a  doubly linked list :
C | C++ | Java
• Insertion in the middle in a  doubly linked list :
C | C++ | Java

• Introduction to Circular Linked List
• Circular Linked List in –
C | C++ | Java
• Insertion in Circular Linked List –
C | C++ | Java
• Insertion at the beginning–
C | C++ | Java
• Insertion at the end –
C | C++ | Java
• Insertion at nth position –
C | C++ | Java
• Deletion in Circular Linked List –
C | C++ | Java
• Deletion from beginning in Circular Linked List –
C | C++ | Java
• Deletion from nth position in Circular Linked List –
• Deletion from end in Circular Linked List –
C | C++ | Java
• Insertion and Deletion in Circular Linked List – C | C++ | Java
• Split a Circular Linked List in two halves –
C | C++ | Java
• Count nodes in Circular Linked List –
C | C++ | Java
• Sorted Insert In Circular Linked List –
C | C++ | Java
• Insertion in the middle in Circular Linked List –
C | C++ | Java

Linked List is one of the most crucial topics which is easy once understood thoroughly. This topic is very important for both your college semester examinations as well as for placement purposes.

• Introduction to Linked List in Data Structure
• Linked List in – C | C++ | Java
• Singly Linked List in – C | C++ | Java
• Insertion in singly Linked List – C | C++ | Java
• Insertion at beginning in singly Linked List  – C | C++Java
• Insertion at nth position in singly Linked List  – C | C++Java
• Insertion at end in singly Linked List  – C | C++Java
• Deletion in singly Linked List  – C | C++Java
• Deletion from beginning in singly linked list : C | C++ | Java
• Deletion from nth position in singly linked list : C | C++ | Java
• Deletion from end in singly linked list : C | C++ | Java
• Reverse a linked list without changing links between nodes (Data reverse only) – C | C++Java
• Linked List Insertion and Deletion – C | C++Java
• Reverse a linked list by changing links between nodes – C | C++Java
• Linked List insertion in the middle – C | C++Java
• Print reverse of a linked list without actually reversing – C |C++ | Java
• Search an element in a linked list – C | C++Java
• Insertion in a Sorted Linked List – C | C++Java
• Delete alternate nodes of a Linked List – C | C++Java
• Find middle of the linked list – C | C++Java
• Reverse a linked list in groups of given size – C | C++Java
• Find kth node from end of the linked list – C | C++Java
• Append the last n nodes of a linked list to the beginning of the list – C | C++Java
• Check whether linked list is palindrome or not – C | C++Java
• Fold a Linked List – C | C++Java
• Insert at a given position – C | C++Java
• Delete at a given position – C | C++Java  ## Stacks and Queues

Stack is a topic that consists of easy to grasp concepts which help you score better in the college semester examinations as well as online tests/ interviews conducted by various companies.

### Stacks

• Introduction to Stack in Data Structure
• Operations on a Stack
• Stack: Infix, Prefix and Postfix conversions
• Stack Representation in –
C | C++ | Java
• Representation of a Stack as an Array. –
C | C++ | Java
• Representation of a Stack as a Linked List. –
C | C++ | Java
• Infix to Postfix Conversion –
C | C++ | Java
• Infix to prefix conversion in –
C | C++ | Java
• Postfix to Prefix Conversion in –
C | C++ | Java

### Queues

• Queues in Data Structures (Introduction)
• Queues Program in C and implementation
• Implementation of Queues using Arrays | C Program
• Types of Queues in Data Structure
• Application of Queue Data Structure
• Insertion in Queues Program (Enqueuing) –
C | C++ | Java
• Deletion (Removal) in Queues Program(Dequeuing) –
C | C++ | Java
• Reverse a Queue –
C | C++ | Java
• Queues using Linked Lists –
C | C++ | Java
• Implement Queue using Stack –
C | C++ | Java
• Implement Queue using two Stacks –
C | C++ | Java

### Priority Queue

• Application of Priority Queue
• Priority Queue Example
• Priority Queue Introduction –
C | C++ | Java
• Priority Queue Implementation using Array –
C | C++ | Java
• Priority Queue using Linked List –
C | C++ | Java
• Priority Queue Insertion and Deletion-
C | C++ | Java ## Stacks and Queues

Stack is a topic that consists of easy to grasp concepts which help you score better in the college semester examinations as well as online tests/ interviews conducted by various companies.

### Priority Queue

• Application of Priority Queue
• Priority Queue Example
• Priority Queue Introduction – C | C++ | Java
• Priority Queue Implementation using Array – C | C++ | Java
• Priority Queue using Linked List – C | C++ | Java
• Priority Queue Insertion and Deletion- C | C++ | Java

## Trees

Trees are one of the most crucial topics in Data Structure which are a little complicated than the other topics in C. Questions from this topic are often asked in college semester examinations as well as Company interviews and online tests which are of a good difficulty level and have more weight age than other questions.

### Traversals

• Traversal in Trees
• Tree Traversals: Breadth-First Search (BFS) : C | C++ | Java
• Tree Traversals: Depth First Search (DFS) : C | C++ | Java
• Construct a Binary Tree from Postorder and Inorder

### AVL Trees

• AVL Trees
• AVL Trees: Introduction
• AVL Tree Insertion : C | C++ | Java
• AVL Tree Deletion : C | C++ | Java
• Insertion in a Binary Tree (Level Order) – C | C++ | Java
• Searching in Binary Tree – C | C++ | Java
• Searching in a Binary Search Tree – C | C++ | Java

### Complete Programs for Trees

• Depth First Traversals – C | C++ | Java
• Level Order Traversal – C | C++Java
• Construct Tree from given Inorder and Preorder traversals – C | C++Java
• Construct Tree from given Postorder and Inorder traversals – C | C++Java
• Construct Tree from given Postorder and Preorder traversal – C | C++Java
• Find size of the Binary tree – C | C++Java
• Find the height of binary tree – C | C++Java
• Find maximum in binary tree – C | C++Java
• Check whether two tree are identical- CC++Java
• Spiral Order traversal of Tree- CC++Java
• Level Order Traversal Line by Line – C | C++Java
• Hand shaking lemma and some Impotant Tree Properties.
• Check If binary tree if Foldable or not.- CC++Java
• check whether tree is Symmetric – C| C++Java.
• Check for Children-Sum in Binary Tree- C|C++Java
• Sum of all nodes in Binary Tree- CC++ | Java
• Lowest Common Ancestor in Binary Tree- CC++ | Java ## Trees

Trees are one of the most crucial topics in Data Structure which are a little complicated than the other topics in C. Questions from this topic are often asked in college semester examinations as well as Company interviews and online tests which are of a good difficulty level and have more weight age than other questions.

### Traversals

• Traversal in Trees
• Tree Traversals: Breadth-First Search (BFS) : C | C++ | Java
• Tree Traversals: Depth First Search (DFS) : C | C++ | Java
• Construct a Binary Tree from Postorder and Inorder

### AVL Trees

• AVL Trees
• AVL Trees: Introduction
• AVL Tree Insertion :  C | C++ | Java
• AVL Tree Deletion : C | C++ | Java
• Insertion in a Binary Tree (Level Order) – C | C++ | Java
• Searching in Binary Tree – C | C++ | Java
• Searching in a Binary Search Tree – C | C++ | Java

### Complete Programs for Trees

• Depth First Traversals – C | C++ | Java
• Level Order Traversal – C | C++Java
• Construct Tree from given Inorder and Preorder traversals – C | C++Java
• Construct Tree from given Postorder and Inorder traversals – C | C++Java
• Construct Tree from given Postorder and Preorder traversal – C | C++Java
• Find size of the Binary tree – C | C++Java
• Find the height of binary tree – C | C++Java
• Find maximum in binary tree – C | C++Java
• Check whether two tree are identical- CC++Java
• Spiral Order traversal of Tree- CC++Java
• Level Order Traversal LIne by Line – C | C++Java
• Hand shaking lemma and some Impotant Tree Properties.
• Check If binary tree if Foldable or not.- CC++Java
• check whether tree is Symmetric  C| C++Java.
• Check for Children-Sum in Binary Tree- C|C++Java
• Sum of all nodes in Binary Tree- CC++ | Java
• Lowest Common Ancestor in Binary Tree. CC++ | Java  ## Arrays

Arrays are one of the most frequently asked topics in both the college semester examinations and companies offering packages between 3.5 – 6 LPA often ask direct questions from this topic in the various online test/ interviews.

• Introduction to Arrays – CC++ | Java
• Introduction to 2-D Arrays – CC++ Java
• Sorting of Array – C | C++ | Java
• Array Rotation – CC++ | Java
• Reverse an array or string- CC++ | Java
• Find pairs in array with given sum – CC++ | Java
• Sort the array in Waveform – CC++ | Java
• Majority Element in Array – CC++ | Java
• Boyer-Moore’s Voting Algorithm – CC++ | Java
• K-pairs with smallest sum in 2 arrays – CC++ | Java
• Largest Sum Contigous SubArray – CC++ | Java
• Maximum Average Sub-array of K length – CC++ | Java
• Size of sub-array with max sum – CC++ | Java
• Sub-array with given sum – CC++ | Java
• Triplet that sum to a given value – CC++ | Java
• Segregate 0’s and 1’s in array – CC++ | Java
• Segregate 0’s 1’s and 2’s in array – CC++ | Java
• Sort elements in array by frequency – C | C++ | Java
• Finding pythagorean triplets in an array – CC++ | Java
• Reorder array using given indexes – CC++ | Java
• Merging two sorted arrays – CC++ | Java
• Minimum number of Merge Operations to make an Array Palindrome – CC++ | Java
• Find Zeros to be Flipped so that number of Consecutive 1’s is maximized – CC++ | Java ## Tower of Hanoi

Stack is a topic that consists of easy to grasp concepts which help you score better in the college semester examinations as well as online tests/ interviews conducted by various companies.

## DSA Assignments :-

### 30 comments on “Top 100 Data Structures and Algorithms (DSA)”

• Manas

please add prepinsta pages of theory of graphs hashing heap backtracing dynamic programming. 0
• 4091_SNEHA 0
• Arun

Why there is no python? 0
• Pruthviraj Talap

implementation in python does not boost logics as c c++ or java but rather you can practice in any lang if you know the working of the algorithm 0