2. Singly Linked List
Learn in-depth the most fundamental data structure in a programmer's life
3. Doubly Linked List
Learn about the extension of the singly linked list that powers stacks and queues
10. Binary Search Tree
Learn about the most critical search data structure in computer science
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
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 basic 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
Backtracking is used extensively in programming and is a very powerful problem solving technique. It is used to effectively solve 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 the language, framework, or system that you use, you will always be using some backtracking algorithm under the hood.
Abstract representation of backtracking
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 gain a thorough understanding of this core computer science concept. We go step by step to explore how a backtracking solution is processed when it is executed and how we determine its runtime complexity.
This course is an interactive course with practice problems and is deeply focused on problem-solving. It bridges the gap between theoretical concepts and common programming problems by providing detailed explanations of the most common problem on backtracking to help you gain confidence and understand how to convert your learnings into actions. By the end of the course, you will be pretty confident to solve any backtracking problem thrown at you.
Who this course is for
This course is an all-rounder course and 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
2. Pattern: Enumeration
3. Pattern: Decision
4. Pattern: Optimization
Learn about the ultimate recursive brute force technique