Prefix Sum (Pre Sum) in Competitive Programming

Let’s go deep into Prefix Sum (Pre Sum) from a competitive programming perspective.This is one of the fundamental techniques you’ll repeatedly use in array, string, DP, and number theory problems. What is Prefix Sum? For an array arr[0..n-1], the prefix sum array pre[i] is defined as: That is, the cumulative sum up to index i. … Read full article: Prefix Sum (Pre Sum) in Competitive Programming

The Two Pointer Technique: A Complete Guide

The two pointer technique is one of the most common and powerful patterns used in competitive programming, data structures, and algorithms. It helps solve problems that involve searching, sorting, or traversing arrays, strings, or linked lists in an efficient way. Core The Two Pointers pattern is a common algorithmic technique used primarily to simplify problems … Read full article: The Two Pointer Technique: A Complete Guide

Mastering Greedy Algorithms

Greedy algorithms are one of the most elegant problem-solving strategies in computer science. They are fast, intuitive, and often surprisingly effective—but only when applied to the right problems. This guide walks you through the recipe for designing greedy algorithms, the common proof techniques, and the classic patterns you must know. What Is a Greedy Algorithm? … Read full article: Mastering Greedy Algorithms

The Deep Power Behind Tree Traversals: Preorder, Inorder, Postorder

Tree traversals are one of the first things we learn in data structures — but they’re often taught only at a surface level: as different ways to “walk” a tree. What’s rarely emphasized is this: A Quick Refresher Given a binary tree, the three primary depth-first traversals are: Traversal Order Preorder Root → Left → … Read full article: The Deep Power Behind Tree Traversals: Preorder, Inorder, Postorder

Tree Data Structure Practice Question

Check Same binary Tree Leet 100. Same Tree When we first read the “Same Tree” problem, we often think of comparing the traversal results — like inorder, preorder, or postorder — of both trees. That’s a natural and valid idea, but it’s not necessary or ideal in this case. Case 1 : Using one of … Read full article: Tree Data Structure Practice Question

In-Depth Comparison of Design Patterns

Design patterns are proven solutions to common problems that occur repeatedly in software design. They provide a shared vocabulary and standard practices that improve code readability, scalability, and maintainability. These patterns are not specific to any programming language but serve as guiding templates for solving architectural challenges in object-oriented systems. By studying and applying design … Read full article: In-Depth Comparison of Design Patterns

Math Tricks in Competitive Programming

Competitive programming is not just about knowing programming syntax—it’s a blend of logic, speed, and mathematics. Mastering a few essential math tricks can drastically boost your problem-solving skills and efficiency. Let’s explore the most powerful and commonly used math techniques in competitive programming. Prime Numbers A prime number is a number greater than 1 that … Read full article: Math Tricks in Competitive Programming

GCD and LCM: Essential Tools for Competitive Programming

GCD and LCM are foundational concepts in number theory and are widely used in areas such as simplifying fractions, cryptography, and solving Diophantine equations. GCD (Greatest Common Divisor) GCD of 12 and 18 So, the GCD is 6 Euclidean Algorithm for GCD This is an efficient method to find GCD: Code Euclidean Algorithm, Why it … Read full article: GCD and LCM: Essential Tools for Competitive Programming

Binary Search Trees (BSTs): A Complete Guide

A Binary Search Tree is a type of binary tree where each node follows a specific ordering property: the left child of a node contains a value less than the node’s value, and the right child contains a value greater than the node’s value. This property makes searching, insertion, and deletion efficient. Introduction A Binary … Read full article: Binary Search Trees (BSTs): A Complete Guide