C Programs - All Prep
C Programs - All Prep
2 Linked List
Algorithm to find the nth node from end of the linked list
Algorithm to find the middle node in a linked list
Algorithm to find the intersection point of two linked lists
Reversal of linked list
Algorithm to detect loop in linked list
Algorithm to find starting node of a loop in a linked list
Algorithm to check given linked list is palindrome (or) not
Algorithm to reverse alternative K nodes in a single linked list
Algorithm to clone a linked list with next and random pointer are
given...many more
Stack
Reversal of a stack
Algorithm to find next greater element on the right side of an array.
Implemention of the following operations in stack in O(1) time. Push(),
pop(), isEmpty(), isFull() and getMin().
Algorithm to find the celebrity in minimum number of questions in a party.
Algorithm to the stock span problem is a financial problem where we have a
series of 'n' daily price for a stock and we need to calculate span of stock’s
price for all n days
Algorithm to merge overlapping intervals
Find the largest rectangular area possible in a given histogram.
Given an integer array of size 'n', find the maximum of the minimum’s of
every window size in the array.
Calculate minimum number of bracket reversals needed to make an
expression balenced.
Design a stack, to find getmin() in O(1) time and O(1) space complexity.
Find if an expression has duplicate or not....many more
3 Queues
Given an array and an integer k, find the maximum for each and every
contiguous subarray of size k.
Implement LRU Cache.
Find the first cicular tour that visits all petrol pumps
Find the largest multiple of 3.
.4 Trees
Implement in order traversal without stack and recursion
Convert a binary tree into its mirror tree
Check if a given binary tree is sum tree or not
Determine if the given two trees are identical or not
Print out all of its roof to leaf paths in a given binary tree
Find a lowest common ancestor of a given two nodes in a abinary search
tree
Find a lowest common ancestor of a given two nodes in a binary tree
Level order traversal in spiral form
Convert an arbitrary binary tree to a tree that holds children sum property
Find the Diameter of a BST
Construct tree from given inorder and post order traversal
Convert a Binary Tree to a circular DLL
Evaluation of expression tree
Print extreme node of each level of Binary Tree in alternative order
Print cousins of a given node in Binary Tree
Diagonal traversal of Binary Tree
Construct tree from ancestor matrix
Given a Binary Tree, find vertical sum of the nodes that are in same vertical
line.
Find multiplication of sums of data of leaves at same level.
Given a binary tree, find maximum value we can get by subtracting value of
node B from value of node A
Print nodes in a top view of Binary Tree.
Given a Binary Tree and a number k, remove all nodes that lie only on root
to leaf path(s) of length smaller than k.
Serialize and deserialize an N-ary tree.
Reverse alternate levels of a perfect Binary Tree.
Print all nodes that are at distance k from a leaf node.
Custom tree problem.
Construct complete binary tree from its linked list representation.
Find next right nodes of given leafs in a binary tree.
Given a binary tree, print boundary nodes of the binary tree Anti-Clockwise
starting from the root.
Convert a given tree to its sum tree.
Given a binary tree, find out if the tree can be folded or not.
Find largest sub tree having identical left and right sub tree.
Convert a normal binary search tree to balanced BST.
Check if removing an edge can divide a binary tree in the form of n-ary tree.
locking and unlocking of resource arranged on the form of n-ary tree.
5 Heaps
Find K largest (or smallest) elements in array.
Tournament tree method using binary heap .
Find a Median in a stream of integers.
Sort a nearly sorted array(or k sorted).
Given array representation of min Heap, convert it to max Heap.
Check if a given binary tree is Heap.
Find kth largest element in a stream.
Print all elements in sorted order from row and column wise sorted matrix.
Given n ropes of different length, connect with minimum cost.
Given k sorted arrays of size n each, merge them.
Design an efficient data structure for given operations find min(), findmax(),
deletemin(), Insert(),delete().
6 Strings
Find a maximum occurring character in the input string.
Remove all duplicates from a given string.
A program to check if strings are rotations of each other or not.
Find the smallest window in a string containing all characters of another
string
Revere words in a given string.
Find all distinct palindromic sub strings of a given string
Remove all adjacent duplicate characters in a string
Given a string, find the Run length encoding of given string.
Check whether two strings are anagram of each other or not.
Find the first non-repeating character from a stream of characters.
Given an array of strings , find if the string can be of characters.
Find a excel column name from a given column number.
Convert one string to another using minimum number of given operation
Check if a given sequence of moves for a robot is circular (or) not.
Print concatenation of zig-zag string in 'n' rows.
Minimum number of palindromic sub sequence to be removed to empty a
binary string.
All combinations of string that can be used to dial a number.
8 Back Tracking
Print all permutations of a given string.
Find subset of elements that are selected from a given set whose sum adds
up to a given number K.
Given a set of n integers, divide the set in two subsets of n/2 sizes each
such that the difference of the sum of two subsets is as minimum as
possible.
Solve Sudoku using backtracking.
Given a maze, NxN matrix. A rat has to find a path from source to
destination. Left top corner is the source and right bottom corner is
destination. There are few cells which are blocked, means rat can¬not enter
into those cells.
9 Pattern searching
Given a text and a pattern, find all occurrences of pattern in a given text.
Using naive approach.
Given a text and a pattern, find all occurrences of pattern in a given text.
Using Rabin-Karp algorithm.
Given a text and a pattern, find all occurrences of pattern in a given text.
Using Finite automata approach.
Given a text and a pattern, find all occurrences of pattern in a given text.
Using Boyer moore algorithm.
Given a text and a pattern, find all occurrences of pattern in a given text.
Using KMP algorithm.
Given a string, find the longest sub string which is palindrome using
manacher’s algorithm
Find all occurrences of a given word in a matrix.
10 Greedy Algorithms
Given an array of jobs with different time intervals. Find the minimum time
to finish all jobs.
Given a universe of n elements, collection of subsets. Find a minimum cost
sub collection that covers all elements.
Given n cities and distances between every pair of cities, select k cities to
place warehouses, such that the maximum distance of a city to a
warehouse is minimized.
11 Dynamic Programming
Find the length of the longest sub sequence of a given sequence such that
all elements of the sub sequence are sorted in increasing order.
Given two sequences, find the length of longest sub sequence present in
both of them.
Given a cost matrix and a position (m, n) , Find cost of minimum cost path
to reach (m, n) from (0, 0).
Coin change problem.
Find the length of the longest palindrome sub sequence.
Find th sum of maximum sum sub sequence of the given array.
You have a rectangular grid of dimension 2 x n. You need to find out the
maximum sum such that no two chosen numbers are adjacent , vertically,
diagonally (or) horizontally.
Given an array A with n elements and array B with m elements. With m you
have to insert (n-m) zero's in between array B such that the dot product of
array A and array B is maximum.
Transform a string into palindrome on removing at most k characters from
it.
Find the longest even length sub string such that sum of first and second
half is same..
Count number of ways to reach a given score in a game.
Compute sum of digits in all number from 1 to n.
Collect maximum points in a grid using two traversals
Given a 2xn board and titles of size 2x1, count the number of ways to tile he
given board using the 2x1 tiles..
Count the number of ways we can parenthesize the expression so that the
value of expression evaluates to true.
Given a Binary Tree, find size of the Largest Independent Set(LIS) in it.
There are n stairs, a person standing at the bottom wants to reach the top.
The person can climb either 1 stair or 2 stairs at a time. Count the number
of ways, the person can reach the top.
Find total number of non-decreasing numbers with n digits.
Egg dropping problem.
Given a rod of length n inches and an array of prices that contains prices of
all pieces of size smaller than n. Determine the maximum value obtainable
by cutting up the rod and selling the pieces.
Given N jobs where every job is represented by Start Time, Finish Time,
Profit or Value Associated. Find the maximum profit subset of jobs such that
no two jobs in the subset overlap.
Box stacking problem.
Given an input string and a dictionary of words, find out if the input string
can be segmented into a space-separated sequence of dictionary words.
Given a binary matrix, find out the maximum size square sub-matrix with all
1s.
Find the maximum coins you can collect by bursting the balloons wisely.