Skip to content

Latest commit

 

History

History
50 lines (26 loc) · 5.54 KB

File metadata and controls

50 lines (26 loc) · 5.54 KB

Algorithms

MergeSort.c------ MergeSort an array of n elements.

freqBinRec.c----Given a sorted array arr[] and a number x, write a function that counts the occurrences of x in arr[]. Expected time complexity is O(logn).

rotClockMin.c----A sorted array is rotated clockwise at some unknown point, find the minimum element in it.

missAPBin.c------ Given an array that represents elements of arithmetic progression in order. One element is missing in the progression, find the missing number.

bitonic.c-------- A Bitonic Sequence is a sequence of numbers which is first strictly increasing then after a point strictly decreasing. A Bitonic Point is a point in bitonic sequence before which elements are strictly increasing and after which elements are strictly decreasing. Find bitonic point in a bitonic sequence.

invPairs.c------- ( How Close a Data is To Being Sorted? ) Apply Merge Sort to count inversion pairs in an array. Two elements a[i] and a[j] form an inversion pair if a[i] > a[j] and i < j. Example: The sequence 2, 4, 1, 3, 5 has three inversions (2, 1), (4, 1), (4, 3).

sumBin.c--------- Given a sorted array and a number X, search two elements of array s.t. their sum is X.

twoDimArr.c------ Apply Binary Search on 2D NxM array (A) having numbers stored in non-deceasing order under row-major scanning. Hint: k-th element = A[k/M][k % M] 4

median.c--------- Median of two sorted arrays: There are 2 sorted arrays A and B of size n each. Write an algorithm to find the median of the array obtained after merging the above 2 arrays (i.e. array of length 2n). The complexity should be O(log(n))

BFS.cpp---------- Breadth First Search of a Graph using STL.

DFS.cpp---------- Depth First Search of a Graph using STL.

node_level.cpp--- Finding number of nodes at a given level 'x' in an undirected graph ( BFS )

unreach.cpp ----- Nodes not reachable from a source node 'x' using DFS (can be done using BFS)

kruskal.cpp ----- Given a weighted undirected graph find the sum of weights of edges of a Minimum Spanning Tree.(Union function used here has O(n^2) time complexity)

countSort.c ----- Given an array of digits, sort them with time complexity O(n).

permute.cpp ----- Print all permutations of a given string.

nQueen.cpp -------- The N-Queen Problem where n is less than a given value(assumed n < 100).

nQueenAllSolns.cpp----- Printing all possible solutions of the N-Queen problem where n is less than a given value(assumed n < 100).

ratMaze.cpp---------- A Maze is given as N*N binary matrix of blocks where source block is the upper left most block i.e., maze[0][0] and destination block is lower rightmost block i.e., maze[N-1][N-1]. A rat starts from source and has to reach destination. The rat can move only in two directions: forward and down.[In the maze matrix, 0 means the block is dead end and 1 means the block can be used in the path from source to destination.]

primPQ.cpp ------ Prim’s algorithm using priority_queue in STL

radixLexiSort.cpp----- Arrange a list of words (each of equal length) using dictionary sorting strategy (Hint : Radix Sort).

dijkstra.cpp-------------- Print Shortest Path and Distance using Dijkstra (using Multiset).

quickSort.c ------------ Apply quicksort on a 2D M*N matrix of numbers so that the numbers are sorted in a row-major fashion in the 2D matrix (without auxiliary array).

find-largest-number-possible-set-given-numbers.cppGiven an array of numbers, arrange them in a way that yields the largest value. For example, if the given numbers are {54, 546, 548, 60}, the arrangement 6054854654 gives the largest value.

trapping-rain-water.cppGiven n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.