Practice
Resources
Interview Guides
All Problems
Fast Track Courses
Community
Blog
Interview Preparation Kit
Video Courses
Contests
Online IDE
New
Online C++ Compiler
Online C Compiler
Online Python Compiler
Online Java Compiler
Online JavaScript Compiler
Free Mock
Powered By
Free Mock Assessment
Take popular mock tests for free with real life interview questions from top tech companies
Explore Mock Tests
Powered By
Mock Interview
Pair up with a peer like you and practise with hand-picked questions
Explore Mock Interviews
Events
New
Scaler
Experience Scaler
Experience Scaler
Profile
Settings
Help Requests
Profile
Settings
Help Requests
Login to experience InterviewBit
Sign in
Experience Scaler
Experience Scaler
Profile
Settings
Help Requests
Profile
Settings
Help Requests
Login to experience InterviewBit
Sign in
Practice
Improve your coding skills with our resources
Resources
Experience learning
Interview Guides
All Problems
Fast Track Courses
Community
Blog
Interview Preparation Kit
Video Courses
Contests
Compete in popular contests with top coders
Online IDE
Checkout our improved IDE
Online C++ Compiler
Online C Compiler
Online Python Compiler
Online Java Compiler
Online JavaScript Compiler
Free Mock
Assess yourself and prepare for interviews
Free Mock Assessment
Mock Interview
Events
Attend free live masterclass hosted by top tech professionals
New
Scaler
Explore Offerings by SCALER
Courses
Programming
Backtracking
Backtracking
Last Updated: Nov 17, 2023
Go to Problems
Backtracking
Complete all the problems in this Topic to unlock a badge
Completed
Go to Problems
×
Contents
Level 1
Time Complexity
How to Calculate Running Time?
Asymptotic notations
How to Calculate Time Complexity?
Time Complexity Examples
Relevance of time complexity
Space Complexity
Go to problems
Jump to Level 2
Level 2
Arrays
Introduction to pointers in C/C++
Arrays in programming - fundamentals
Pointers and arrays
Pointers and 2-D arrays
Array Implementation Details
Sorting Algorithms
Insertion sort algorithm
Merge sort algorithm
QuickSort Algorithm
Sort Implementation Details
Selection Sort
Bubble Sort
Go to problems
Math
Math Introduction
Factorization
Base number system
Unary number system
Binary number system
Base conversions for base N
Go to problems
Jump to Level 3
Level 3
Binary Search
Binary Search Implementations and common errors
Binary Search Algorithm
Applications of Binary Search
Beyond Sorted Array Binary Search
Advantages and Disadvantages of Binary Search
Go to problems
Strings
For C / C++ users,
For C / C++ users ( contd ),
String Implementation Details
Go to problems
Bit Manipulation
What is Binary Number System?
Understanding Data Types
Bitwise Operators
Bitwise Operators Examples
Bitwise and Logical Operators
Go to problems
Two Pointers
TWO POINTERS
Go to problems
Jump to Level 4
Level 4
Linked Lists
Introduction to linked list
Arrays vs Linked Lists
Linked List Implementation
Doubly linked list
Doubly Linked List Implementation
Go to problems
Stacks And Queues
Introduction to Stack
Array implementation of Stack
Linked List implementation of stack
Stack Implementation Details
Introduction to Queues
Array implementation of Queues
Linked List implementation of Queue
Queue Implementation Details
Go to problems
Jump to Level 5
Level 5
Backtracking
Recursion basics - using factorial
Complexity analysis of recursive programs
Why recursion is not always good
Time Complexity analysis of recursion
Space complexity analysis of recursion
Maze Traversal Algorithm Using Backtracking
Graph Coloring Algorithm using Backtracking
Go to problems
Hashing
Introduction to hashing
Key terms in Hashing
Hashing Techniques
Hashing Implementation Details
Hashing Summary
Go to problems
Jump to Level 6
Level 6
Heaps And Maps
Why treemaps / heaps
Heap and Map Implementation Details
Heap Sort Algorithm
Go to problems
Tree Data Structure
Introduction to Tree Data Structure
Binary Tree
Binary Search Tree
Implementation of BSTs
Go to problems
Jump to Level 7
Level 7
Dynamic Programming
Dynamic Programming Concept
Dynamic Programming Examples
Characteristics of Dynamic Programming
Dynamic Programming Methods
Applications
FAQs
Dynamic Programming Interview Questions
Go to problems
Greedy Algorithm
Greedy Algorithm Examples
Greedy algorithms - When to use
Activity Selection problem
What is Greedy Algorithm?
How to Create Greedy Algorithms?
Go to problems
Jump to Level 8
Level 8
Graph Data Structure & Algorithms
Introduction to graphs
Properties of graph
Graph Traversals ( DFS and BFS )
Example implementation of BFS and DFS
Breadth First Search
Depth-first Search
Dijkstra algorithm
Go to problems
Be a Code Ninja!
Contents
Complexity analysis of recursive programs
0/2
Examples
Reverse Link List Recursion
39:10 Mins
60 Pts
Modular Expression
50:40 Mins
60 Pts
Backtracking Problems
0/6
Subsets
All Possible Combinations
39:45 Mins
200 Pts
Subset
61:56 Mins
250 Pts
Combination Sum
+1
62:41 Mins
300 Pts
Combination Sum II
+1
42:05 Mins
300 Pts
Combinations
46:09 Mins
300 Pts
Subsets II
41:23 Mins
300 Pts
0/3
Maths and backtracking
Maximal String
66:20 Mins
200 Pts
Kth Permutation Sequence
79:22 Mins
350 Pts
Gray Code
59:01 Mins
350 Pts
0/3
Bruteforce builder
Letter Phone
53:36 Mins
250 Pts
Palindrome Partitioning
68:22 Mins
300 Pts
Generate all Parentheses II
52:54 Mins
350 Pts
0/1
Permutations
Permutations
+1
39:38 Mins
350 Pts
0/2
Game solving
NQueens
+1
74:40 Mins
550 Pts
Sudoku
+1
71:00 Mins
700 Pts
Topic Bonus
Bonus will be unlocked after solving min. 1 problem from each bucket
Previous
Next
Video Courses
By
View All Courses
Excel at your interview with Masterclasses
Know More
Certificate included
What will you Learn?
Unlock the complete InterviewBit
experience for free
Sign Up Using
Or use email
1 Million +
Strong Tech Community
500 +
Questions to Practice
100 +
Expert Interview Guides
Instructions from Interviewbit
Start Test