Backtracking is a very important concept, especially in whiteboard coding interviews. It is also often used to identify solutions that satisfy a given constraint.<p>After learning backtracking, I found that it changed the way I thought about problems. Rather than trying to "conjure up" a magical, efficient solution-- backtracking is actually the process of iteratively finding many solutions, without wasting time on ones that don't work.<p>We created this tutorial to help beginners understand the power of this technique. We try to accomplish this by walking the reader through increasingly difficult examples, showing how we can efficient backtrack our way to the right solution.