Companion resource for the Algorithms & DSA curriculum.
Organized in tiers so you know what to use now vs. later.
How to Use This Guide
#
| Tier |
When |
What |
| Start Here |
Getting started |
NeetCode 150, Blind 75, LeetCode Easy/Medium, BaseCS blog |
| Go Deeper |
Building fluency |
Codeforces, cp-algorithms, CSES Problem Set, conference archives |
| Stay Current |
Ongoing |
Newsletters, Twitter/X, communities, Advent of Code |
| Competitive |
If interested |
AtCoder, ICPC archives, Meta Hacker Cup, advanced Codeforces |
| Platform |
URL |
What It Is |
Why Use It |
| LeetCode |
https://leetcode.com/ |
2800+ problems, weekly contests, discuss forums |
The industry standard for interview prep. Most problems map directly to interview questions. Weekly and biweekly contests keep you sharp. |
| Codeforces |
https://codeforces.com/ |
Competitive programming with Div 1-4 contests |
Best for building raw problem-solving speed. Rating system motivates improvement. Editorials teach you how to think. |
| AtCoder |
https://atcoder.jp/ |
Japanese competitive programming, clean problems |
Problems are elegant and well-written. ABC contests (beginner) are excellent for building fundamentals. |
Tier 2 -- Structured Practice
#
| Platform |
URL |
What It Is |
Why Use It |
| HackerRank |
https://www.hackerrank.com/ |
Structured tracks, certificates |
Good for methodical topic-by-topic practice. Certificates can signal skills to employers. |
| CodeChef |
https://www.codechef.com/ |
Indian community, long challenges, rated contests |
Strong Indian community. Long challenges allow deep thinking on hard problems. |
| TopCoder |
https://www.topcoder.com/ |
The original competitive programming platform |
Historical archive of problems is valuable. Algorithm tutorials section is underrated. |
Tier 3 -- Specialized
#
| Platform |
URL |
What It Is |
Why Use It |
| Project Euler |
https://projecteuler.net/ |
Math-heavy algorithmic problems |
Strengthens the mathematical thinking behind algorithms. 900+ problems. |
| CSES Problem Set |
https://cses.fi/problemset/ |
Curated 300 problems from competitive programming |
Created by a Finnish competitive programmer. Covers every fundamental topic. Clean, no fluff. Best curated problem set available. |
These are specifically designed around coding interview preparation, not competitive programming.
| Platform |
URL |
What It Is |
Notes |
| NeetCode 150 |
https://neetcode.io/ |
150 curated problems organized by pattern |
YOU OWN THIS. Roadmap groups problems by pattern (arrays, two pointers, sliding window, etc.). Video explanations for every problem. Best structured path for interview prep. |
| AlgoExpert |
https://www.algoexpert.com/ |
160 curated problems with video explanations |
YOU OWN THIS. Clean UI, good video walkthroughs. Problems sorted by difficulty and category. |
| Blind 75 |
https://leetcode.com/discuss/general-discussion/460599 |
The original 75 must-do LeetCode problems |
Created by a blind.com user. The canonical "minimum viable" LeetCode list. If you solve nothing else, solve these. |
| Striver's A2Z DSA Sheet |
https://takeuforward.org/strivers-a2z-dsa-course-sheet-2 |
Free, 450+ problems organized by topic |
Comprehensive and free. Extremely popular in India. Step-by-step progression from basics to advanced. |
| LeetCode Patterns |
https://seanprashad.com/leetcode-patterns/ |
Sean Prashad's list, 170 problems by pattern |
Organizes problems by the pattern they use. Good for pattern recognition training. |
Recommendation: Use NeetCode 150 as your primary track. Supplement with Blind 75 for the essentials. Use Striver's sheet when you want extra practice on a specific topic.
3. Newsletters
#
| Newsletter |
URL |
By |
Covers |
Notes |
| ByteByteGo |
https://blog.bytebytego.com/ |
Alex Xu |
System design + algorithms, visual explanations |
YOU OWN LIFETIME ACCESS. Excellent visual breakdowns of algorithms and data structures in the context of real systems. |
| TLDR |
https://tldr.tech/ |
Dan Ni |
Daily tech news, often covers algorithm breakthroughs |
Quick daily read. Occasionally covers significant algorithm and data structure advances. |
| Quastor |
https://www.quastor.org/ |
Justin Gage |
System design case studies, technical deep dives |
Covers how real companies solve algorithmic problems at scale. |
Note: The DSA space does not have dedicated newsletters the way Ruby or Elixir does. Most algorithm learning happens through platforms, blogs, and YouTube. These three cover adjacent territory well.
4. Blogs & Websites
#
Tier 1 -- Essential References
#
| Resource |
URL |
What It Is |
Why Use It |
| cp-algorithms |
https://cp-algorithms.com/ |
Comprehensive algorithm encyclopedia |
The best free algorithm reference online. Detailed explanations with code for every major algorithm. Covers theory and implementation. |
| Big-O Cheat Sheet |
https://www.bigocheatsheet.com/ |
Time and space complexity reference |
Quick reference for data structure and sorting algorithm complexities. Print it out. |
| Visualgo |
https://visualgo.net/ |
Algorithm and data structure visualization |
Watch algorithms execute step by step. Covers sorting, graphs, trees, and more. Essential for building intuition. |
| BaseCS |
https://medium.com/basecs |
Vaidehi Joshi's illustrated CS fundamentals |
Beginner-friendly, beautifully illustrated explanations of CS fundamentals. Companion podcast also excellent. |
Tier 2 -- Learning and Practice
#
| Resource |
URL |
What It Is |
Why Use It |
| GeeksforGeeks |
https://www.geeksforgeeks.org/ |
Problem solutions, explanations, Indian community |
Massive archive of algorithm explanations and problem solutions. Quality varies but coverage is unmatched. |
| Red Blob Games |
https://www.redblobgames.com/ |
Amit Patel's interactive algorithm visualizations |
Interactive visualizations especially strong on pathfinding (A*, Dijkstra), grids, and game algorithms. The gold standard for visual algorithm teaching. |
| Algorithm Visualizer |
https://algorithm-visualizer.org/ |
Open-source algorithm visualization tool |
Write code and watch it execute visually. Supports multiple languages. Good for understanding step-by-step execution. |
| The Algorithms |
https://the-algorithms.com/ |
Open-source collection in every language |
Reference implementations of algorithms in 30+ languages including Ruby. Good for comparing implementations across languages. |
5. Forums & Communities
#
Reddit
#
| Community |
Where |
What It Is |
Signal Quality |
| LeetCode Discuss |
https://leetcode.com/discuss/ |
Problem solutions, interview experiences, study plans |
HIGH -- real interview experiences and multiple solution approaches per problem |
| Codeforces Blog/Editorials |
https://codeforces.com/blog/entry/1 |
Contest editorials, algorithm tutorials, community blogs |
HIGH -- world-class competitive programmers share insights |
Discord & Chat
#
| Community |
What It Is |
Notes |
| NeetCode Discord |
Community around NeetCode's content |
Active study groups, problem discussion, interview prep support |
| Competitive Programming Discord |
Broad competitive programming community |
Contest discussion, problem help, mentorship from experienced contestants |
| LeetCode Discord |
Unofficial LeetCode community |
Daily challenges, solution discussion, study partners |
Q&A
#
Algorithm Educators
#
| Handle |
Who |
Why Follow |
| @NeetCode1 |
NeetCode |
Most popular algorithm educator on YouTube. Clear explanations, pattern-based teaching. |
| @eraboringname |
Errichto (Borys Minaiev) |
World-class competitive programmer. Streams problem-solving live. Educational content on YouTube. |
| @william_fiset |
William Fiset |
Excellent algorithm video course on YouTube. Graph algorithms especially strong. |
| @staboringname |
Striver (Raj Vikramaditya) |
takeUforward creator. The A2Z DSA Sheet author. Massive following in India. |
| Handle |
Who |
Why Follow |
| @leetcode |
LeetCode |
Contest announcements, new problem releases, community highlights. |
| @algo_explained |
Algorithm explanations |
Visual algorithm breakdowns and explanations. |
Competitive Programming
#
| Handle |
Who |
Why Follow |
| @tourist_by |
tourist (Gennady Korotkevich) |
Widely considered the best competitive programmer in history. |
| @Benq_ |
Benjamin Qi |
USACO guide author, IOI gold medalist. Educational competitive programming content. |
| @Um_nik |
Um_nik |
Top Codeforces contestant. Insightful blog posts on problem-solving. |
Pro tip: Create a private X list called "DSA Signal" with these accounts to get a focused algorithm feed without the noise.
7. YouTube Channels
#
Tier 1 -- Essential
#
| Channel |
By |
Covers |
Why Watch |
| NeetCode |
NeetCode |
LeetCode problem walkthroughs organized by pattern |
Clear, concise explanations. Groups problems by pattern so you learn the technique, not just the solution. |
| Abdul Bari |
Abdul Bari |
Algorithm theory and analysis |
The best algorithm theory channel. Clear visual explanations of time complexity, recurrences, and algorithm design. |
| William Fiset |
William Fiset |
Graph algorithms, data structures |
Comprehensive graph algorithm playlist is the best on YouTube. Clean visuals, thorough coverage. |
Tier 2 -- Excellent Supplements
#
| Channel |
By |
Covers |
Why Watch |
| Errichto |
Borys Minaiev |
Competitive programming, live problem-solving |
Watch a world-class programmer think through problems in real time. |
| takeUforward |
Striver |
DSA sheet walkthroughs, interview prep |
Matches the A2Z DSA Sheet. Systematic topic-by-topic coverage. Very popular in India. |
| Back To Back SWE |
Benyam Ephrem |
Interview problem explanations |
Whiteboard-style explanations. Good for understanding the "why" behind solutions. |
| Tushar Roy |
Tushar Roy |
Dynamic programming, graph algorithms |
DP playlist is legendary. Methodical, visual approach to dynamic programming. |
| mycodeschool |
(archived) |
Data structures, pointers, linked lists |
Older but excellent. Foundational data structure explanations. Still referenced widely. |
Tier 3 -- Specialized
#
| Channel |
By |
Covers |
Why Watch |
| Reducible |
Reducible |
Algorithm visualization, theory |
Beautifully animated algorithm explanations. Great for visual learners. |
| 3Blue1Brown |
Grant Sanderson |
Math foundations relevant to algorithms |
Not algorithm-specific but his math visualizations build the intuition you need for algorithm analysis. |
8. Conferences & Events
#
Annual Competitions
#
| Event |
When |
What It Is |
Notes |
| Advent of Code |
December (annually) |
25 daily programming puzzles |
Excellent annual tradition. Problems range from easy to very hard. Great community solutions in every language. Do it in Ruby. |
| ICPC |
Year-round regionals, finals in spring |
International Collegiate Programming Contest |
The premier competitive programming contest. Archives of past problems are excellent practice material. |
| Meta Hacker Cup |
October-November |
Meta's annual programming competition |
Open to all. Multiple rounds, increasing difficulty. Good for testing your skills against a global field. |
| Google Code Jam |
Discontinued (2023) |
Google's former annual competition |
Archives still available and problems are excellent practice material. |
Academic Conferences (for the theory-curious)
#
| Conference |
What It Is |
Notes |
| STOC |
ACM Symposium on Theory of Computing |
Where breakthrough algorithm results are published. Read proceedings if you want to go deep on theory. |
| FOCS |
IEEE Symposium on Foundations of Computer Science |
Same tier as STOC. Alternates focus areas. |
| SODA |
ACM-SIAM Symposium on Discrete Algorithms |
More applied than STOC/FOCS. Practical algorithm advances. |
For you: Advent of Code is the one to do every year. ICPC/Meta Hacker Cup are optional. Academic conferences are for awareness, not active participation (unless you want to go deep on theory).
9. Open Source Algorithm Projects
#
Reference Implementations
#
| Project |
URL |
What It Is |
Why Study |
| The Algorithms |
https://github.com/TheAlgorithms |
Algorithm implementations in 30+ languages |
The largest open-source algorithm collection. Has a Ruby repository. Good for comparing implementations and understanding language-specific idioms. |
| javascript-algorithms |
https://github.com/trekhleb/javascript-algorithms |
Algorithms and data structures in JavaScript |
180K+ stars. Each algorithm has explanations and complexity analysis. Even if you prefer Ruby, the explanations are language-agnostic and excellent. |
| algorithm-visualizer |
https://github.com/algorithm-visualizer |
Interactive algorithm visualization platform |
Open-source version of algorithm-visualizer.org. Contribute visualizations as a learning exercise. |
Ruby-Specific
#
| Project |
URL |
What It Is |
Why Study |
| TheAlgorithms/Ruby |
https://github.com/TheAlgorithms/Ruby |
Algorithm implementations in Ruby |
Reference Ruby implementations. Useful for seeing idiomatic Ruby approaches to classic algorithms. |
| ruby-algorithms |
https://github.com/kanwei/algorithms |
Ruby algorithm and data structure library |
Gem with C extensions for performance. Study the pure Ruby fallbacks to understand the algorithms. |
| ferern/algorithms |
https://github.com/sagivo/algorithms |
Algorithms and data structures in Ruby |
Another Ruby algorithm collection. Smaller but clean implementations. |
| Project |
URL |
What It Is |
Why Study |
| VisuAlgo source |
https://github.com/nicklimmm/visualgo |
Algorithm visualization |
Study how algorithms are animated step by step. Deepens understanding of execution flow. |
| sorting-algorithms |
Various repos |
Sorting algorithm visualizations |
Multiple open-source sorting visualizers. Good for understanding comparative performance. |
10. Books Worth Knowing About
#
Essential Reading
#
| Book |
Author |
Why Read |
| Introduction to Algorithms (CLRS) |
Cormen, Leiserson, Rivest, Stein |
THE algorithm textbook. Comprehensive reference. You do not read it cover to cover -- you use it as a reference when you need to understand an algorithm deeply. |
| Algorithm Design Manual |
Steven Skiena |
More practical than CLRS. War stories from real applications. Better for working engineers than academics. |
| Grokking Algorithms |
Aditya Bhargava |
Illustrated, beginner-friendly. Best starting point if CLRS feels overwhelming. |
Go Deeper
#
| Book |
Author |
Why Read |
| Algorithms |
Robert Sedgewick, Kevin Wayne |
Excellent companion to Sedgewick's Coursera course. Java-based but language-agnostic concepts. |
| Competitive Programming 4 |
Steven Halim, Felix Halim |
The competitive programming bible. Covers every technique used in ICPC-level contests. |
| Elements of Programming Interviews |
Adnan Aziz, Tsung-Hsien Lee, Amit Prakash |
300 interview problems with detailed solutions. Available in Java, Python, and C++. |
You do not need to buy these immediately. Use NeetCode, Blind 75, and YouTube first. Books become valuable when you want deeper understanding of specific algorithm families or need a reference during study.
11. How to Actually Use This Guide
#
Don't Follow Everything -- Use Tiers
#
Daily (15-30 min):
- Solve 1 LeetCode problem from NeetCode 150 or Blind 75
- Read the LeetCode Discuss solutions after solving (or failing) to see other approaches
- Review 1 previously solved problem for retention
Weekly (1-2 hours):
- Watch 2-3 NeetCode or Abdul Bari videos on a specific topic
- Read 1 cp-algorithms article on a topic you are studying
- Browse r/leetcode for interview experience posts
Monthly (3-4 hours):
- Participate in 1-2 LeetCode weekly contests to test speed under pressure
- Work through a new pattern category (sliding window, backtracking, etc.)
- Watch a Reducible or William Fiset deep-dive video on an algorithm family
Seasonally:
- Do Advent of Code in December
- Re-evaluate which platforms you are actually using vs. ignoring
- Move to harder problems as easier ones become routine
Build Your Study Stack
#
LAYER 1: DAILY PRACTICE NeetCode 150 + LeetCode (1 problem/day)
LAYER 2: PATTERN STUDY YouTube explanations + cp-algorithms (weekly)
LAYER 3: TIMED PRACTICE LeetCode contests + mock interviews (biweekly)
LAYER 4: DEEP DIVES CLRS reference + algorithm visualizers (as needed)
LAYER 5: COMMUNITY r/leetcode + Discord + discuss forums (ongoing)
LAYER 1: DAILY PRACTICE NeetCode 150 + LeetCode (1 problem/day)
LAYER 2: PATTERN STUDY YouTube explanations + cp-algorithms (weekly)
LAYER 3: TIMED PRACTICE LeetCode contests + mock interviews (biweekly)
LAYER 4: DEEP DIVES CLRS reference + algorithm visualizers (as needed)
LAYER 5: COMMUNITY r/leetcode + Discord + discuss forums (ongoing)
Red Flags to Avoid
#
-
Grinding LeetCode without understanding the pattern behind each solution
-
Watching solution videos before attempting the problem yourself (spend at least 20 minutes trying)
-
Memorizing solutions instead of learning techniques
-
Skipping easy problems because they feel beneath you (they build speed and confidence)
-
Doing random problems instead of following a structured list (NeetCode 150, Blind 75)
-
Comparing your progress to competitive programmers (interview prep and competitive programming are different skills)
-
Buying every course and book before finishing one (you own NeetCode and AlgoExpert -- use them first)
-
Ignoring time complexity analysis (always analyze your solution's Big O before submitting)
For Your Job Search Specifically
#
-
Primary track: NeetCode 150 covers every pattern you will see in interviews
-
Speed practice: LeetCode weekly contests simulate interview time pressure
-
Pattern recognition: Group problems by technique, not by difficulty
-
Mock interviews: Use Pramp (free) or interviewing.io for realistic practice
-
Company-tagged problems: LeetCode premium shows which companies ask which problems
-
Ruby implementations: Practice in Ruby since that is your strongest language, but be prepared to whiteboard in pseudocode
Last updated: April 2026
Companion to: ALGORITHMS_DSA_MASTERY_CURRICULUM.md