# 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 for Placements and College examinations.**

## 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.**

- Linear Search –
- Binary Search –
- Most important –
- Searching Meme Review

## 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.**

- Linear Search –

C | C++ | Java - Binary Search –

C | C++ | Java - Most important –

Time Complexity for Placements - Searching Meme Review

## 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 Lists

**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.**

**Singly Linked List**

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

**Doubly Linked List**

- Introduction to Doubly Linked list in Data Structure
- Doubly Linked List in –
- Insertion in doubly linked list –
- Insertion at beginning in doubly linked list –
- Insertion at end in doubly linked list –
- Insertion at n
^{th}node in doubly linked list – - Deletion in doubly linked list –
- Deletion from beginning in doubly linked list :
- Deletion from nth in doubly linked list :
- Deletion from end in doubly linked list :

**Circular Linked List**

- Introduction to Circular Linked List
- Circular Linked List in –
- Insertion in Circular Linked List –
- Insertion at the beginning–
- Insertion at the end –
- Insertion at nth position –
- Deletion in Circular Linked List –
- Deletion from beginning in Circular Linked List –
- Deletion from nth position in Circular Linked List –
- Deletion from end in Circular Linked List –
- Split a Circular Linked List in two halves –
- Count nodes in Circular Linked List –
- Sorted Insert In Circular Linked List –

## Linked Lists

**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.**

**Singly Linked List**

- 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
- Deletion in singly Linked List – C | C++ | Java
- Reverse a linked list without changing links between nodes (Data reverse only) – C | C++ | Java
- Reverse a linked list by changing links between nodes – 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

**Doubly Linked List**

**Circular Linked List**

- Introduction to Circular Linked List
- Circular Linked List in – C | C++ | Java
- Insertion in Circular Linked List – C | C++ | Java
- 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

## 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
- Insertion in Queues Program in C (Enqueuing) – C | C++ | Java
- Deletion (Removal) in Queues Program in C (Dequeuing) – C | C++ | Java
- Application of Queue Data Structure
- 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

### Circular Queues

- Circular queue in Data Structure
- Circular queue in C
- Circular queue using Array – C | C++ | Java
- Applications of Circular Queues
- Circular Queue using Linked Lists – C | C++ | Java

### Priority Queue

## 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.**

### Introduction to Trees

### Binary Trees

- Binary Tree in Data Structures (Introduction)
- Tree Traversals: Inorder Postorder Preorder
- Inorder Postorder PreOrder Traversals Examples
- Tree Traversal without Recursion
- Postorder Preorder Inorder Traversal without recursion
- Inorder Tree Traversal without Recursion
- Preorder Tree Traversal without Recursion
- Preorder Tree Traversal without Recursion

### Binary Search Trees

- Binary search tree in Data Structures (Introduction)
- BST: Introduction to Binary Search Tree
- BST: Binary Search Tree Program
- BST: Search a node in Binary Search Tree
- BST: Insertion in a Binary Search Tree
- BST: Deletion in a Binary Search Tree

### Traversals

- Traversal in Trees
- Tree Traversals: Breadth-First Search (BFS)
- Tree Traversals: Depth First Search (BFS)
- Construct a Binary Tree from Postorder and Inorder

### B – Trees

- B-Tree
- B-Tree: Introduction
- B-Tree: Insertion
- B-Tree: Deletion

### AVL Trees

- AVL Trees

### 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- C| C++| Java
- Spiral Order traversal of Tree- C | C++| 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.- C| C++| 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- C | C++ | Java
- Lowest Common Ancestor in Binary Tree. C | C++ | 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 – C | C++ | Java
- Array Rotation – C | C++ | Java
- Reverse an array or string- C | C++ | Java
- Searching in Rotated-Sorted array – C | C++ | Java
- Find missing number in array – C | C++ | Java
- Find pairs in array with given sum – C | C++ | Java
- Sort the array in Waveform – C | C++ | Java
- Majority Element in Array – C | C++ | Java
- Boyer-Moore’s Voting Algorithm – C | C++ | Java
- K-pairs with smallest sum in 2 arrays – C | C++ | Java
- Largest Sum Contigous SubArray – C | C++ | Java
- Maximum Average Sub-array of K length – C | C++ | Java
- Size of sub-array with max sum – C | C++ | Java
- Sub-array with given sum – C | C++ | Java
- Triplet that sum to a given value – C | C++ | Java
- Segregate 0’s and 1’s in array – C | C++ | Java
- Segregate 0’s 1’s and 2’s in array – C | C++ | Java
- Sort elements in array by frequency – C | C++ | Java
- Finding pythagorean triplets in an array – C | C++ | Java
- Reorder array using given indexes – C | C++ | Java
- Merging two sorted arrays – C | C++ | Java
- Minimum number of Merge Operations to make an Array Palindrome – C | C++ | Java
- Find Zeros to be Flipped so that number of Consecutive 1’s is maximized – C | C++ | 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.**

Tower of Hanoi: Representation, Working and Example.

Thanks for your immediate response. Can you please tell me how to earn the certificate of the nanodegree after the course completion?

Hey Arijit, you can mail us at [email protected], we’ll provide you with the certificates

And how can I access the related videos as well?

Hey Arijit, please visit – https://prepinsta.com/dsa-online/, for accessing the related videos

I have already purchased the DSA NanoDegree Course but can’t able to start from the beginning materials like it’s starting from the topic of Search Techniques for me and can you please tall me how to access the C/C++ course as well?

Hey Arijit, please visit – https://prepinsta.com/all-about-c-language/, for the related theory and

visit – https://prepinsta.com/c-cpp-course/, for related videos

i am not able to access capgemini crash course video lectures and mock. kindly help out . where can i find those videos and mock?

Hey Riddhi, please visit – https://prepinsta.com/capgemini-online/, here you will get all the related lectures

Why I am not able to access capgemini prime videos and mocks

Hey Rakesh, please visit this page – https://prepinsta.com/capgemini/, from here you can access all the preparation material

Why am I not able to see lectures of Divide and conquer, dynamic programming , hashing etc..In DSA?

Hey Lokesh, for that you have to buy our DSA NanoDegree program, where you’ll find all the lectures on these topics

I have bought your DSA Course but I am unable to access the entire material for more than a week now. Please look into it

Hey Shambhavi, please visit – https://prepinsta.com/dsa-online/, you’ll get all the study material here

Why am i not seeing Python in data structures. We can still learn data structures completely without using the built-in functions in Python. I think you should also include Python along with C++ and JAVA.

Hey Vivek, we are creating a all together different tutorial for Python, we will explaining data structures in python there itself

When it’ll be available ?

It’s already available Shazz, you can check our NanoDegree Programs