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
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- 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
- Sudoku | Backtracking-7
- Subset Sum | Backtracking-4
- Rat in a Maze | Backtracking-2
- Backtracking | Introduction
- Rat in a Maze | Backtracking using Stack
- Magnet Puzzle | Backtracking-9
- Backtracking to find all subsets
- Hamiltonian Cycle | Backtracking-6
- m Coloring Problem | Backtracking-5
- N Queen Problem | Backtracking-3
- The Knight's tour problem | Backtracking-1
- Maximum size subset with given sum using Backtracking
- Solving Cryptarithmetic Puzzles | Backtracking-8
- Maximal independent set from a given Graph using Backtracking
- Top 20 Backtracking Algorithm Interview Questions
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.