# Data Structures and Algorithms

Welcome to TheAlgorist.com: a one-stop-shop for mastering data structures and algorithms and building solid problem solving skill. Most textbooks do a phenomenal job at giving you great theoretical knowledge but often lack implementation details and hands-on coding experiences. TheAlgorist.com will bridge that gap. What makes our product different is our pragmatic approach to give you an in-depth knowledge on practical applications of each and every data structure and algorithm by solving real-world problems in minimal amount of time. You do not need to go on solving hundreds of problems in order to become proficient. Our curated list of problems below will help you build the thought process required to become a great problem solver and achieve success in as little time as possible. Have upcoming interviews at big tech companies and/or tech start-ups? We have got you covered!!

### 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

### 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

### Sliding Window

Core Concept

Minimum Window

Substring
Grumpy Shopkeeper
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
Limitations

### 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

### Linked List

Representation of Linked List Linked List Complexity Linked List Operations Traverse a Linked List Insert Elements to a Linked List Delete from a Linked List Search an Element on a Linked List Sort Elements of a Linked List Deleting a Node from a Singly Linked List The "Runner" Technique

### 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 Square

# See what all great accomplishments our customers have achieved by using our products:

**If you are a student, get 25% Student Discount by clicking below:**

Get 25% Discount

Get 25% Discount