Flood fill (also known as seed fill) is an algorithm that determines the area connected to a given node in a multi-dimensional array.
Given a M x N matrix of characters, find all occurrences of a given string in the matrix. We are allowed to search the string in all eight possible directions i.e. North, West, South, East, North-East, North-West, South-East, South-West. Note that there should not be any cycles in the output path.
Given a N x N matrix of positive integers, find a path from the first cell of the matrix to its last cell.
Given a huge set of strings with duplicate strings present, find first k-maximum occurring words in it.
Given a huge set of strings with duplicate strings present, find the maximum occurring word in it. If two words have same count, return any one of them.
Lexicographic sorting: Given a set of strings, print them in Lexicographic order (dictionary/alphabetical order).
Given a directed graph, check if it is strongly connected or not. A directed graphs is said to be strongly connected if every vertex is reachable from every other vertex.
Given an directed graph, check if it is a DAG (Directed Acyclic Graph) or not. A DAG is a digraph (directed graph) that contains no cycles.
Given a undirected connected graph, check if the graph is 2-vertex connected or not. A connected graph G is said to be 2-vertex-connected (or 2-connected) if it has more than 2 vertices and remains connected on removal of any vertices. Any such vertex whose removal will disconnected the graph is called Articulation point.
Given a undirected connected graph, check if the graph is 2-edge connected or not.
Given an undirected graph, check if is is a tree or not. In other words, check if given undirected graph is a Acyclic Connected Graph or not.
Given an connected undirected graph, find if it contains any cycle or not.