codeintuition-logo
🛠 Your feedback, our roadmap. Help us prioritize the features, content, and fixes you need most.
Learning order

1. Recursion

Premium

Take a deep dive into one of the most intuitive programming paradigm

Show Index

2. Backtracking

Premium

Learn about the ultimate recursive brute force technique

Show Index

3. Sorting

Premium

Learn all about algorithms to sort data blazingly fast

Show Index

4. Searching

Premium

Learn about the algorithms that speed up your searches exponentially

Show Index

5. Dynamic Programming

Premium

Learn the most powerful optimization for recursive problems

(Early Access)

Show Index

6. Bit Manipulation

Premium

Learn about the fastest ways to manipulate data

(Early Access)

Show Index

What you will learn

What is backtracking and what makes it so powerful

Why backtracking is implemented using recursive function calls

What is a state space tree and why is it so useful

Understand essential patterns behind common interview problems

Detailed code implementation and solution of all problems

Hands on practical experience in a setup free coding environment

Requirements

This is a complete course and assumes that you know nothing about backtracking but are familiar with some basic foundational topics in any programming language and data structures.

  • Basic knowledge of programming in any language
  • Basic knowledge of functions and classes
  • Basic knowledge of memory management
  • You have completed the stacks and recursion course

Overview

Backtracking is used extensively in programming and is a very powerful problem-solving technique. It effectively solves many complex problems with simple recursive solutions and sets the base for high-level algorithms like dynamic programming. It also serves as the core of tree and graph traversal algorithms. Irrespective of your language, framework, or system, you will always be using some backtracking algorithm under the hood.

Loading Image

Abstract representation of backtracking

Fundamentals

This course teaches you the fundamentals of backtracking and how it works under the hood. It provides you with code implementations and detailed explanations of backtracking in the most intuitive way to help you thoroughly understand this core computer science concept. We explore how a backtracking solution is processed when it is executed and how we determine its runtime complexity step by step.

Problems Solving

This interactive course involves high-quality problems and is deeply focused on problem-solving. It bridges the gap between theoretical concepts and common interview problems by explaining the most common interview problems on backtracking. This will help you gain confidence and understand how to convert your learning into action. By the end of the course, you will be pretty confident that you can solve any backtracking problem thrown at you.

Who this course is for

This all-rounder course targets a variety of audiences ranging from complete beginners to experienced programmers who want to take their knowledge to the next level. You will greatly benefit from this course if you identify yourself as one of the following

  • Non developers who want to start their journey to learn data structures
  • Developers who want to get deepest knowledge of backtracking
  • Anyone interested in improving their problem solving skills
  • Anyone preparing for programming interviews

Course Contents

1. Introduction to backtracking

0%

2. Pattern: Unconditional enumeration

0%

3. Pattern: Conditional enumeration

0%

4. Pattern: Backtracking search

0%

5. Assessments

0%

6. Certificate

Unlimited access
Code execution
Detailed solutions
Incremental Learning Path
High quality lessons

Completion Time: 4 hour
Difficulty: Medium
Level: Advanced

Backtracking

Learn about the ultimate recursive brute force technique

9 Lessons
12 problems
3 Patterns
10 Illustrations