DSA & Algorithms
DSA is less about memorising algorithms than about recognising shapes. These articles build each structure from what it is good at, then show the problem patterns that keep reappearing — two pointers, sliding window, BFS versus DFS — so you can spot them under time pressure.
Core structures
- Linked Lists in Python: Building One and Understanding Why Python has lists built in, so why build a linked list? Because the interview asks, and because the reversal problem teaches a pointer technique you will meet again and again. Tutorial · 9 min read · August 11, 2026
- Binary Search Trees: Fast Lookup Until Your Data Arrives Sorted A binary search tree gives you logarithmic lookup from one simple rule. The same rule is why inserting already-sorted data destroys its performance entirely. Tutorial · 9 min read · August 10, 2026
- Dijkstra's Algorithm: Shortest Paths, Step by Step Dijkstra answers the question every maps application asks: what is the cheapest route from here to everywhere? The algorithm is short, and the reason it fails on negative weights is worth understanding. Tutorial · 9 min read · August 10, 2026
- Tries: How Autocomplete Finds Every Word Starting With 'ca' A hash set can tell you whether a word exists. It cannot tell you which words start with 'ca' without checking all of them. That gap is what a trie fills. Tutorial · 8 min read · August 10, 2026
- Union-Find: Answering 'Are These Two Connected?' Almost Instantly Union-find does two things: merge two groups, and check whether two items are in the same group. With two small optimisations, both become effectively constant time. Tutorial · 8 min read · August 10, 2026
- Topological Sort: Ordering Things That Depend on Each Other Course prerequisites, build systems and task schedulers all ask the same question: given what depends on what, in what order should these run? Topological sort answers it, and tells you when no answer exists. Tutorial · 8 min read · August 10, 2026
- Password Hashing Explained: Why SHA-256 Is Wrong Here SHA-256 is a good hash. That is exactly the problem: it is fast, and speed is the one property you do not want when someone is guessing your users' passwords. Tutorial · 12 min read · August 6, 2026
- Stack vs Heap Memory: Where Your Variables Live Deep recursion is not slow, it is fatal. The stack is a fixed block handed to your thread at birth, and a single large local array can exhaust it in one line. Tutorial · 12 min read · August 6, 2026
- Java Collections: Pick by Access Pattern, Not Habit LinkedList's famous O(1) insert only applies if you are already holding the node. That one detail explains why the textbook answer loses to ArrayList in real code. Comparison · 12 min read · August 6, 2026
- JavaScript sort(): Why [10, 9, 1] Becomes [1, 10, 9] Sorting numbers with plain .sort() gives you an order that looks random until you realise every element was converted to a string first. And the array you sorted was modified, which is its own bug. Tutorial · 11 min read · August 6, 2026
- Map and Set in JavaScript: When They Beat Objects Use an object as a lookup table and every key becomes a string. Two different objects used as keys collapse into one entry called [object Object], and nothing warns you. Comparison · 11 min read · August 6, 2026
- Python Sets: Fast Lookups and the Order You Lose Checking if x in my_list inside a loop is the quiet way to turn a fast script into a slow one. Sets fix that in one line, and take away order and duplicates in exchange. Tutorial · 10 min read · August 6, 2026
- Python collections: Counter, defaultdict, deque, namedtuple defaultdict is the most useful class in the module and the easiest one to get wrong. Simply reading a missing key adds it, so a lookup can silently grow your dictionary. Tutorial · 11 min read · August 6, 2026
- Binary Tree Traversal: Inorder, Preorder and Postorder Three traversals differ by one line's position. Knowing which one a problem needs is usually the whole solution. Tutorial · 10 min read · August 6, 2026
- Heaps and Priority Queues Explained With Examples A heap gives you the smallest or largest item instantly without keeping everything sorted. That trade is why top-K questions have such a clean solution. Tutorial · 10 min read · August 6, 2026
- The Two Pointer Technique Explained With Examples One of the highest-return patterns in interviews. It turns a nested loop into a single pass — but only when the data has the property that makes it safe. Tutorial · 9 min read · August 5, 2026
- Sliding Window Technique: Fixed and Variable Windows Any question about a contiguous subarray or substring is probably a sliding window. The trick is knowing what makes the window shrink. Tutorial · 10 min read · August 5, 2026
- BFS vs DFS: Which Graph Traversal to Use The code for both is nearly identical — swap a queue for a stack. That one change decides whether you find the shortest path or merely a path. Comparison · 10 min read · August 5, 2026
- Array vs Linked List: Which One and Why Textbooks say linked lists are better for insertion. Real machines often disagree, and knowing why is what separates a memorised answer from an understood one. Comparison · 9 min read · August 5, 2026
- Stack vs Queue: The Difference, With Real Examples One reverses order, the other preserves it. That single difference decides whether you get undo, or you get a printer queue. Comparison · 8 min read · August 5, 2026
- Hash Tables Explained: How Dictionaries Really Work Every dictionary, map and object you have ever used is a hash table. Understanding the machinery explains a surprising amount of everyday behaviour. Tutorial · 10 min read · August 5, 2026
- Python List vs Tuple: Differences and When to Use Each Lists change, tuples don't. See how Python lists and tuples differ in mutability, speed, memory, and hashability, plus exactly when to reach for each. Comparison · 8 min read · July 22, 2026
- Python Dictionary Methods: A Beginner's Guide with Examples A beginner-friendly tour of the most-used Python dictionary methods, each with a runnable snippet, plus a word-frequency example and common mistakes. Tutorial · 9 min read · July 22, 2026
Algorithms
- String Problems That Keep Coming Up in Interviews Most string interview questions are four patterns wearing different clothes. Learn the patterns and the individual problems stop needing to be memorised. Tutorial · 9 min read · August 11, 2026
- Greedy Algorithms: When Taking the Best Option Now Actually Works A greedy algorithm takes the best-looking option at every step and never reconsiders. Sometimes that is provably optimal. Sometimes it is confidently wrong, and the same code cannot tell the difference. Tutorial · 9 min read · August 10, 2026
- Bit Manipulation: The Tricks That Keep Appearing in Interviews Bit manipulation looks like a party trick until you meet the problems it solves in one line. A handful of patterns cover almost everything that gets asked. Tutorial · 8 min read · August 10, 2026
- Recursion in Python: How to Stop Being Confused by It Recursion stops being confusing the moment you stop trying to trace it in your head. Trust the base case, trust the smaller call, and the rest follows. Tutorial · 9 min read · August 10, 2026
- Python itertools: combinations, groupby and the Lazy Trap itertools.groupby does not group your data. It groups runs of consecutive equal keys, so unsorted input gives you the same key back three times and nobody warns you. Tutorial · 11 min read · August 6, 2026
- DSA Patterns Cheat Sheet: Recognise the Problem Type Interview problems reuse about a dozen patterns. Recognising which one applies is most of the solution — the code is the easy part. Tips & Tricks · 11 min read · August 6, 2026
- Dynamic Programming Explained for Beginners DP has a reputation for being hard. It is really one idea — do not solve the same subproblem twice — applied with discipline. Tutorial · 12 min read · August 6, 2026
- Recursion vs Iteration: Which to Use and Why Anything one can do, the other can too. The choice is about which makes the problem clearer — and which one the stack can survive. Comparison · 9 min read · August 6, 2026
- Backtracking Explained: The Template That Solves Most Problems Backtracking is brute force that gives up early. One template — choose, explore, undo — covers subsets, permutations, sudoku and N-queens. Tutorial · 11 min read · August 6, 2026
- Time Complexity Cheat Sheet for Interviews Every complexity you need for an interview, in one place — plus the table that tells you which complexity a problem's constraints are asking for. Tips & Tricks · 10 min read · August 6, 2026
- Maximum Call Stack Size Exceeded: Causes and Fixes A stack overflow in JavaScript. Usually a missing base case — but the React version and the accidental-recursion version are sneakier. Tutorial · 9 min read · August 6, 2026
- Time Complexity and Big O Notation Explained Simply Big O is not about how many seconds your code takes. It is about how the work grows as the input grows — and that difference is what interviewers are actually testing. Tutorial · 10 min read · August 5, 2026
- Sorting Algorithms Compared: Which to Use and Why You will almost never write a sort in production. You will absolutely be asked to explain one in an interview, and the trade-offs are the actual lesson. Comparison · 11 min read · August 5, 2026
- Binary Search Algorithm Explained (With Code) Binary search finds a value in a sorted array by halving the search range each step. Here is the low/high/mid logic with working Python code. Tutorial · 8 min read · July 22, 2026
- What Is Recursion? Explained Simply with Examples Recursion is when a function calls itself. Here is how the base case, recursive case, and call stack work, with clear Python examples for beginners. Tutorial · 9 min read · July 22, 2026
More on DSA & Algorithms
- C++ STL Guide: Containers, Iterators and Complexity std::map is not a hash table, and writing m[key] to check a key silently inserts it. Two facts that change how your STL code behaves and what it costs. Tutorial · 12 min read · August 6, 2026
- How to Approach a Coding Round Without Freezing Most candidates fail coding rounds by process, not knowledge. Silence while thinking costs more marks than an imperfect solution. Career · 11 min read · August 6, 2026
- How to Prepare for a Technical Interview: A Step-by-Step Guide A practical, step-by-step plan for freshers: what technical interviews test, a 4-week timeline, live-coding etiquette, and how to handle questions you can't solve. Career · 8 min read · July 22, 2026
- DSA Roadmap for Beginners: How to Start in 2026 A step-by-step DSA roadmap for absolute beginners: the right topic order, how much time each stage takes, and the mistakes that waste months. Career · 9 min read · July 22, 2026
