Given a number n, the task is to generate n bit Gray codes (generate bit patterns from 0 to 2^n-1 such that successive patterns differ by one bit)
Input : 2 Output : 0 1 3 2 Explanation : 00 - 0 01 - 1 11 - 3 10 - 2 Input : 3 Output : 0 1 3 2 6 7 5 4
We have discussed an approach in Generate n-bit Gray Codes
This article provides a backtracking approach to the same problem. Idea is that for each bit out of n bit we have a choice either we can ignore it or we can invert the bit so this means our gray sequence goes upto 2 ^ n for n bits. So we make two recursive calls for either inverting the bit or leaving the bit as it is.
0 1 3 2 6 7 5 4
- Generate n-bit Gray Codes
- Generate n-bit Gray Codes | Set 2
- Gray to Binary and Binary to Gray conversion
- Binary to Gray code using recursion
- Decimal Equivalent of Gray Code and its Inverse
- Backtracking | Introduction
- Subset Sum | Backtracking-4
- Sudoku | Backtracking-7
- Rat in a Maze | Backtracking-2
- Rat in a Maze | Backtracking using Stack
- Backtracking to find all subsets
- N Queen Problem | Backtracking-3
- m Coloring Problem | Backtracking-5
- Magnet Puzzle | Backtracking-9
- Hamiltonian Cycle | Backtracking-6
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.