Foundations

Algorithms & Data Structures

Sorting, searching, graphs, trees, dynamic programming and computational complexity

4,003
lessons
Skills in this topic
View full skill map →
Algorithm Basics
beginner
Analyse time and space complexity with Big O
Sorting & Searching
beginner
Implement quicksort, mergesort, and heapsort
Hashing & Hash Functions
beginner
Explain the four properties of secure hash functions
Graph Algorithms
intermediate
Implement BFS and DFS iteratively and recursively
Dynamic Programming
intermediate
Identify overlapping subproblems
Advanced Algorithms
advanced
Implement backtracking for constraint problems
All Reads (692) Articles (77)Blog Posts (543)Tutorials (68)Research Papers (2)News (2)
Traversal, Linear Search, Swapping, Shifting & More (Leetcode Code example)
Medium · Data Science ⚡ Algorithms & Data Structures ⚡ AI Lesson 1w ago
Traversal, Linear Search, Swapping, Shifting & More (Leetcode Code example)
Array Operations in Java and Scala: Continue reading on Data Science Collective »
Data Structures and Algorithms Deep‑Dive — Real-world Applications of Hash Tables (Chapter 3…
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1w ago
Data Structures and Algorithms Deep‑Dive — Real-world Applications of Hash Tables (Chapter 3…
Chapter 3 — Hash Tables and Hashing Continue reading on Medium »
I implemented the algorithm that broke the sorting barrier. Dijkstra still wins.
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 2w ago
I implemented the algorithm that broke the sorting barrier. Dijkstra still wins.
In 2025 a paper proved you can compute shortest paths asymptotically faster than Dijkstra. I built a verified implementation on a 2012… Continue reading on Medi
Palindrome Number(Easy) | LeetCode #2
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 3w ago
Palindrome Number(Easy) | LeetCode #2
5 ways to tackle the Palindrome Number Problem Continue reading on Medium »
Flood Fill — The Algorithm Behind Your Paint Bucket Tool
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 3w ago
Flood Fill — The Algorithm Behind Your Paint Bucket Tool
Ever clicked the paint bucket in MS Paint and watched a color spread across connected pixels? That’s flood fill. Let’s build it from… Continue reading on Medium
Prefix Sum: The Pattern Behind Most Subarray Problems
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Prefix Sum: The Pattern Behind Most Subarray Problems
Learn the intuition behind Prefix Sum, recognize it in interviews, and solve most subarray sum problems with confidence. Continue reading on Medium »
Merge Overlapping Intervals on a Line Scale Using Python, LeetCode 56
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Merge Overlapping Intervals on a Line Scale Using Python, LeetCode 56
If you have ever come across this question and wanted to solve it, then this article will help you grasp a few concepts that can enable… Continue reading on Med
Two Pointers: The Pattern Behind Countless Coding Interview Problems
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Two Pointers: The Pattern Behind Countless Coding Interview Problems
If you’ve solved a few LeetCode problems, chances are you’ve already used the Two Pointers pattern — even if you didn’t know its name. Continue reading on Mediu
Another Binary Search Problem That Looked Easy… Until the Last Condition
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Another Binary Search Problem That Looked Easy… Until the Last Condition
I recently solved Find Smallest Letter Greater Than Target, and this problem reminded me that sometimes one line in the problem statement… Continue reading on M
Reddit r/programming ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Domino Tiling: From Dynamic Programming to Finite Fields
https://www.omegasyntax.com/domino/ Series of articles about Domino Tiling problem. submitted by /u/eugene [link] [comments]
DSA From Zero to Hero #2: Two Pointers Approach Explained with Example
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
DSA From Zero to Hero #2: Two Pointers Approach Explained with Example
The approach that cuts your time complexity in half — and most developers have never heard of it. Continue reading on Medium »
DSA From Zero to Hero #2: Two Pointers Approach Explained with Example
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
DSA From Zero to Hero #2: Two Pointers Approach Explained with Example
The approach that cuts your time complexity in half — and most developers have never heard of it. Continue reading on Stackademic »
Learning DSA? Avoid the Mistake That Wasted My Years
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Learning DSA? Avoid the Mistake That Wasted My Years
Why DSA feels impossible, why most beginners practice it wrongly, and how to build interview-ready problem-solving skills without blindly… Continue reading on D
3 Data Structures That Finally Made Sense the Day I Got Stuck in a McDonald’s Drive-Through for 31…
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
3 Data Structures That Finally Made Sense the Day I Got Stuck in a McDonald’s Drive-Through for 31…
Hi everyone, I am Nitin Gavhane and in this blog I want to tell you about the evening a McDonald’s drive-through turned into an accidental… Continue reading on
Array Patterns Every Developer Should Know: Two Pointers, Sliding Window, and Prefix Sum
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Array Patterns Every Developer Should Know: Two Pointers, Sliding Window, and Prefix Sum
Arrays are the first data structure most of us learn, yet they’re where some of the most elegant optimization techniques in computer… Continue reading on Medium
04.21. Tentukan Hari : Kongruensi Zeller
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
04.21. Tentukan Hari : Kongruensi Zeller
Tuliskan program yang meminta input tanggal. Program menentukan nama hari dari tanggal tersebut. Continue reading on Medium »
RAPTOR algorithm explained
Medium · Data Science ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
RAPTOR algorithm explained
Learn how RAPTOR works, deep-down. Round bAsed Public Transit Optimized Router, or RAPTOR for short is a... Continue reading on Medium »
Week 2(Day 10): LeetCode Two Pointers(slow & fast): Remove Duplicates from Sorted Array (Brute…
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Week 2(Day 10): LeetCode Two Pointers(slow & fast): Remove Duplicates from Sorted Array (Brute…
Part of my DSA Interview Prep Series — Week 2: Two Pointers Continue reading on Medium »
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
LeetCode 1840: Maximum Building Height — The Constraint Propagation Trick That Blew My Mind
Some LeetCode problems are hard because they require advanced data structures. Continue reading on Medium »
10 Tricky Time & Space Complexity Questions Every JavaScript Developer Should Know
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
10 Tricky Time & Space Complexity Questions Every JavaScript Developer Should Know
As JavaScript developers, we often focus on writing code that works. But in interviews and production systems, writing code that scales is… Continue reading on
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
The Graph Traversal Recipe That Simplified Every Graph Problem I Solved
By Sai Pranav Moluguri Continue reading on Medium »
PRAKTIKUM STRUKTUR DATA.11
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
PRAKTIKUM STRUKTUR DATA.11
PRAKTIKUM STRUKTUR DATA.11 Greedy Continue reading on Medium »
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Simplifying Rubik’s Cube Notation with a Stack and Commutation Rules
When working with Rubik’s Cube scrambles, one interesting problem is notation simplification. Continue reading on Medium »
Stop Overcomplicating Linked Lists: The Easiest Way to Solve LeetCode 2095
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Stop Overcomplicating Linked Lists: The Easiest Way to Solve LeetCode 2095
Why jumping straight to complex pointers isn’t always the best approach for beginners. Continue reading on Medium »
Week 15 — Dynamic Programming and the Art of Not Solving the Same Thing Twice
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Week 15 — Dynamic Programming and the Art of Not Solving the Same Thing Twice
I’m not going to lie. When someone says dynamic programming the first reaction is panic. Continue reading on Medium »
Cracking Two Sum — Claude way
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Cracking Two Sum — Claude way
From a naive O(n²) brute force to an elegant O(n) hash map — every step explained. Continue reading on Medium »
Meta Hacker Cup 2021 — Final Round: Table Flipping
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Meta Hacker Cup 2021 — Final Round: Table Flipping
Difficulty: Hard Topic: Computational Geometry, Rectangle Intersection, Constraint Propagation  View original problem statement Continue reading on Javascript
Algoritma Greedy
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Algoritma Greedy
Setelah mempelajari mengenai Algoritma Dijkstra, sekarang kita akan mempelajari Algoritma Greedy yang dikembangkan pada era 1950-an. Ada 3… Continue reading on
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Modul 11 — Struktur Data: Algoritma Greedy
Dalam pemrograman, sering kali kita menemukan masalah yang memiliki banyak kemungkinan solusi. Tantangannya adalah menentukan solusi mana… Continue reading on M
Greedy Algorithm — Apakah Rakus itu Selalu Buruk
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Greedy Algorithm — Apakah Rakus itu Selalu Buruk
Bayangkan kamu lagi milih makanan di prasmanan dengan piring kecil — kamu pasti ambil yang paling enak duluan biar nggak nyesel kalau… Continue reading on Mediu
Master LeetCode 118: Pascal’s Triangle (The Ultimate JavaScript Guide for All Coding Levels)
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Master LeetCode 118: Pascal’s Triangle (The Ultimate JavaScript Guide for All Coding Levels)
Discovering the hidden beauty of algorithms doesn’t require a math degree. Today, we are breaking down one of LeetCode’s most popular… Continue reading on Mediu
Algoritma Greedy
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Algoritma Greedy
Laporan Praktikum Struktur Data ke-11 Continue reading on Medium »
Meta Hacker Cup 2018 — Qualification Round: Interception
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
Meta Hacker Cup 2018 — Qualification Round: Interception
Difficulty: Hard Topic: Polynomials, parenthesization, root-finding  View original problem statement Continue reading on Javascript by doing »
I gave up on LeetCode three times before something finally clicked
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 1mo ago
I gave up on LeetCode three times before something finally clicked
I’m going to be honest with you: my first three runs at learning data structures and algorithms were embarrassing. Continue reading on Medium »
Laporan Praktikum 11 Struktur Data |Algoritma Greedy
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Laporan Praktikum 11 Struktur Data |Algoritma Greedy
Pada pertemuan kali ini, kita akan membahas tentang greedy dalam python. Continue reading on Medium »
Struktur Data 11: Algoritma Greedy Dalam Python
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Struktur Data 11: Algoritma Greedy Dalam Python
Algoritma greedy merupakan pendekatan penyelesaian masalah yang dibangun di atas prinsip pengambilan keputusan lokal terbaik pada setiap… Continue reading on Me
Dijkstra’s Algorithm — Gimana bacanya
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Dijkstra’s Algorithm — Gimana bacanya
Bayangkan kamu lagi di pusat kota dan mau ke stasiun. Ada puluhan jalan dengan jarak berbeda. Dijkstra adalah cara sistematis untuk… Continue reading on Medium
Pengenalan Terhadap Dijkstra Beserta Implementasinya
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Pengenalan Terhadap Dijkstra Beserta Implementasinya
Pada praktikum ini, saya mempelajari Dijkstra, kata yang masih asing ditelinga. Namun, saya ingin mengajak teman-teman untuk mengetahui… Continue reading on Med
Laporan Praktikum 10 Struktur Data | Algoritma Dijkstra
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Laporan Praktikum 10 Struktur Data | Algoritma Dijkstra
Pada pertemuan kali ini kita akan belajar tentang algoritma Dijkstra dalam python. Continue reading on Medium »
Coding Interview Tip #1: Let Input Size Determine Your Algorithm
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Coding Interview Tip #1: Let Input Size Determine Your Algorithm
Why Input Size Matters Continue reading on Medium »
Meta Hacker Cup 2016 — Qualification Round: High Security
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Meta Hacker Cup 2016 — Qualification Round: High Security
Difficulty: Medium Topic: Greedy Algorithms & Interval Covering Round: Qualification Link… Continue reading on Javascript by doing »
Medium · Python ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Segment Tree Python CheatSheet
Here’s a complete segment tree cheatsheet covering the key patterns you’ll reach for in practice: Continue reading on Medium »
Huffman Coding
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Huffman Coding
Huffman coding is a lossless compression technique that assigns shorter binary codes to frequently used characters and longer codes to… Continue reading on Medi
Reddit r/programming ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Museum of Algorithms — a digital exhibition where algorithms are presented as interactive art
submitted by /u/Practical-Summer-188 [link] [comments]
Pattern 3: Binary Search
Medium · Data Science ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Pattern 3: Binary Search
Hi guys, welcome back to my DSA series. I Hope you are following my journey. If not, check out my previous posts as well. Today, let’s… Continue reading on Towa
Algorithms for Frontend Developers: Where It Actually Hurts
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Algorithms for Frontend Developers: Where It Actually Hurts
Years ago I opened an internal talk on frontend algorithms with one line: Continue reading on Medium »
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
Sliding Window Pattern (Part 12): Sliding Window Maximum (Deque — The Most Feared Window Problem)
What if finding the maximum in every window could be done in O(n) instead of O(n × k)? Continue reading on Medium »
prev, curr, next — The Three Pointers That Reverse a Linked List
Medium · JavaScript ⚡ Algorithms & Data Structures ⚡ AI Lesson 2mo ago
prev, curr, next — The Three Pointers That Reverse a Linked List
Single linked list a famous problem is: reverse linked list. before moving to explanation of problem let’s understand the single link list… Continue reading on