This post is completed by 1 user

Add to List 
Print all sub sequences of a given array
Objective: Given an array write an algorithm to print all the possible sub subsequences.
Example:
int [] a = {1, 2, 3}; Output: Possible sub sequences – {Empty}, {1}, {2}, {3}, {1, 2} ,{1,3}, {2, 3}, {1, 2, 3}
Approach:
 The approach will be similar to as discussed here Generate All Strings of n bits
 If we consider n= 3(same as the array size) then all possible combinations are [0, 0, 0] [1, 0, 0] [0, 1, 0] [1, 1, 0] [0, 0, 1] [1, 0, 1] [0, 1, 1] [1, 1, 1].
 So from the above combinations, wherever the bit is set to 1, place an array element at the position and wherever the bit is set to 0, ignore the array element.
 The above step will give the desired result.
 See the code below for better understanding.
Time Complexity: O(2^n)
Code:
Output:
1 2 3 1 2 1 3 1 2 3 2 3 {Empty Set}
Also Read: