How to use Bit Manipulation In Javascript
- We can use bit manipulation to represent the inclusion or exclusion of each character in the subsequence.
- Create a function generateSubsequence with one parameter input.
- Inside the function store the length of the input in variable length. Iterate and check conditions by using for loop and if condition respectively.
- Here,the value of inputString= “abc”.
- Then, call the function generateSubsequence with argument inputstring to get output.
Example: This example prints all subsequences of a string in JavaScript using the Bit manipulation method.
function generateSubsequences(input) {
const subsequences = [];
const length = input.length;
for (
let mask = 0;
mask < 1 << length;
mask++
) {
let currentSubsequence = "";
for (
let bit = 0;
bit < length;
bit++
) {
if (mask & (1 << bit)) {
currentSubsequence +=
input[bit];
}
}
subsequences.push(
currentSubsequence
);
}
return subsequences;
}
const inputString = "abc";
const allSubsequences =
generateSubsequences(inputString);
console.log(allSubsequences);
Output
[ '', 'a', 'b', 'ab', 'c', 'ac', 'bc', 'abc' ]
JavaScript Program to Print all Subsequences of a String
A subsequence is a sequence that can be derived from another sequence by deleting zero or more elements without changing the order of the remaining elements. Subsequences of a string can be found with different methods here, we are using the Recursion method, Iteration method and Bit manipulation method.
Example: The example shows the input string and the corresponding output
Input: 'abc' Output: abc ab ac a bc b c
Table of Content
- Method 1: Using Recursion
- Method 2: Using Iteration
- Method 3: Using Bit Manipulation
- Method 4: Using Queue