Top 30 Data Structures Problems for Technical Interview Preparation

 

Below problems are chosen on basis of concepts involved in solving them, that will accelerate your thought process and help you further to solve several similar problems asked in a coding interview. There might be multiple approaches discussed to solve few problems. We recommend to go through each one of them.

 

Array:

Find pair with given sum in the array

Maximum subarray problem (Kadane’s algorithm)

Longest Increasing Subsequence

 

Backtracking:

Find Longest Possible Route in a Matrix

Find all Permutations of a given string

 

Trees:

Find next node in same level for given node in a binary tree

Print left view of binary tree

Find diameter of a binary tree

In-place convert convert given Binary Tree to Doubly Linked List

Find ancestors of given node in a Binary Tree

Deletion from BST

 

Divide & Conquer:

Merge Sort

Quicksort

Find first or last occurrence of a given number in a sorted array

Maximum Sum Subarray using Divide & Conquer

 

Dynamic Programming:

0-1 Knapsack problem

Longest Common Subsequence | Introduction & LCS Length

Longest Palindromic Substring (Non-DP Space Optimized Solution)

Word Break Problem

 

BFS/DFS:

Breadth First Search (BFS) | Iterative & Recursive Implementation

Minimum number of throws required to win Snake and Ladder game

Depth First Search (DFS) | Iterative & Recursive Implementation

Find Shortest path from source to destination in a matrix that satisfies given constraints

Flood fill Algorithm

Find all occurrences of given string in a character matrix

 

Matrix:

Find all paths from first cell to last cell of a matrix

Find maximum sum submatrix present in a given matrix

 

Heap:

Merge M sorted lists each containing N elements

Find K’th largest element in an array

 

Linked List:

Reverse linked list

Clone given Linked List

Merge given sorted linked lists into one

 
 

Thank you for being with us. 🙂

 




Leave a Reply

Notify of
avatar
Sort by:   newest | oldest | most voted
Vexal
Vexal
Knowing advanced algorithmic and data structure concepts is what separates a programmer who can get something done 75% of the time from one who can get something done 90-100% of the time. Having a bunch of code-only programmers means when something unique comes up that has to scale in a… Read more »
wpDiscuz