# 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

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

Merge given sorted linked lists into one

Thank you for being with us. 🙂

Subscribe
Notify of
Guest
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 complicated manner, it will have to be passed upwards to someone in a higher position, using up their time on a project that was assigned to someone they manage. It also shows that those programmers probably won’t get promoted to those positions.

Guest
Michael

kudos. Awesome list.

Guest
Kundan

Thanks! this is really useful.

Guest
Andrew Thomas

The problems given are very useful for those who are preparing for the data structure interviews. Thanks!