## Kahn’s Topological Sort Algorithm

Given a directed acyclic graph (DAG), print it in Topological order using Kahn’s Topological Sort algorithm. If the DAG has more than one topological ordering, print any of them.

## Swap Adjacent Bits of a Number

Given an integer, swap adjacent bits of it. In other words, swap bits present at even positions with those present in odd positions.

## Remove nodes from BST that have keys outside the valid range

Given a BST and a valid range of keys, remove nodes from BST that have keys outside the valid range.

## Find Missing Term in a Sequence in log(n) time

Given a sequence of numbers such that the difference between the consecutive terms is constant, find missing term in it in O(log(n)) time.

## Find all Lexicographic Permutations of a String

In this post, we will see how to find all lexicographic permutations of a string where repetition of characters is allowed.

## Division of Two Numbers using Binary Search Algorithm

In this post, we will discuss division of two numbers (integer or decimal) using Binary Search Algorithm.

## Find subarrays with given sum in an array

Given an array of integers, find subarrays with given sum in it.

## Fill Binary Matrix with Alternating Rectangles of 0 and 1

Given a M x N binary matrix, fill it with alternating rectangles of 0 and 1.

## Find all N-digit binary numbers with equal sum of bits in its two halves

Find all N-digit binary numbers with equal sum of left and right half. N varies from [1-9] and binary number should not start with 0.

## Traverse the given directory using BFS and DFS in Java

In this post, we will see how to traverse the given directory and list out all files present in it and all its sub-directories.

## Print all distinct Subsets of a given Set

Given a set S, generate all distinct subsets of it i.e., find distinct power set of set S. A power set of any set S is the set of all subsets of S, including the empty set and S itself.

## Find minimum cuts needed for palindromic partition of a string

Given a string, find minimum cuts needed to partition it such that each partition is a palindrome.