Algorithms and Data Structures
Your roadmap to become a great Problem Solver. The only course you need to ace Coding Interviews. To know more, visit TheAlgorists.com
Browse by Topic
Free / Preview Chapters Dynamic Programming Graph Theory Backtracking Binary Search Tree Sliding Window Union Find Heap Shortest Path Algorithms Bit Manipulation Linked List Applications Sweep Line Technique Interesting Concepts Trie Reservoir Sampling Concurrent Programming Video Lessons
Sliding Window
Core Concept
Minimum Window
Substring
Grumpy Bartender
Longest Substring w/ Atmost
Two Distinct Characters
Longest Substring w/ Atmost
K Distinct Characters
Longest Substring
Without Repeating
Characters
Find All Anagrams
Substring
w/ Concatenation
of All Words
Repeated DNA Sequences
LimitationsNEW
Dynamic Programming:
0/1 Knapsack Concept
Core Concept
Subset Sum Problem
Partition Equal Subset Sum
Count Subset Sum
Minimum Subset
Sum Difference
Target Sum
Combination Sum
Combination Sum with
Additional Constraint
Dynamic Programming:
Unbounded
Knapsack Concept
Core Concept
Coin Change:
Minimum no. of Coins
Coin Change: Total
Combinations Possible
Combination Sum
Combination Sum Count
Dynamic Programming:
State Machine Approach
Core Concept
Stock Trading
w/ Cooldown
Max Profit w/ Unlimited
Stock Trade Transactions
Stock Trading w/
Transaction Fee
Max Profit w/ at most
2 Stock Trade Transactions
Max Profit w/ at most
K Stock Trade Transactions
Max Profit w/ at most
1 Stock Trade Transaction
Dynamic Programming:
Longest
Increasing Subsequence
Core Concept
Box Stacking
Russian Doll Envelopes
Largest Divisible Subset
Longest String Chain
Best Team with No Conflict
Longest Bitonic
Subsequence
Dynamic Programming:
All possible Cuts
in all possible Intervals
for the Last Operation
Core Concept
Matrix Chain Multiplication
or, Parenthesization
Optimal Binary Search Tree
Minimum Palindrome
Partitioning
Burst Balloons
Dynamic Programming:
Kadane's Algorithm
Core Concept
Maximum Product
Subarray
Best Time to Buy
& Sell Stock
Dynamic Programming:
2-Strings Problems
Core Concept
Longest Common
Substring
Longest Common
Subsequence
Shortest Common
Supersequence
Interleaving String
Edit Distance
Dynamic Programming:
1-String Problem
Core Concept
Palindrome
Longest Palindromic
Substring
Longest Palindromic
Subsequence
Minimum Palindrome
Partitioning
Minimum Palindromic
Insertion
Dynamic Programming:
Other Techniques
Optimal Path(s) to Target
Minimum Cost Tickets
Counting DP
Unique Paths
Unique Paths Without
Obstructions
Decision Making Approach
House Robber
Maximal SquareNEW
Backtracking Algorithm - II:
Combinatorics
Power Set
Power Set w/ Duplicates
Permutations
Palindrome Permutation
Permutations
w/ Divisibility
Permutations
w/ Duplicates
Combinations
Combination Sum
Combination Sum 2
Combination Sum 3
Job Scheduling Problems
Sequential Job Scheduling
Parallel Job Scheduling
Parallel Job Scheduling
w/ Relative Deadlines
Union-Find or Disjoint Set Union
Fundamentals
Longest Consecutive
Sequence
Number of Islands
Accounts Merge
Redundant Connection
Number of Provinces
Valid Tree