Time and Space Complexity Explained

“Smart code isn’t just about working—it’s about working well, even when your input grows big.” If you’re diving into data structures and algorithms (DSA), the terms time complexity and space complexity will keep popping up. This post will walk you through both—what they mean, why they matter, and how to reason about them—without drowning you in theory. ⏱️ What is Time Complexity? Time complexity tells you how long an algorithm takes as the input size grows. It doesn’t measure real seconds, but how the number of steps grows based on input size n. ...

June 25, 2025 · 4 min · 767 words · Shubham

Linked Lists in Python

If you’re brushing up on data structures in Python, linked lists are a great place to start. Unlike arrays (Python’s built-in lists), linked lists are made up of nodes that point to each other — making them flexible for insertions and deletions. This post walks you through implementing a basic singly linked list from scratch in Python. What Is a Linked List? A linked list is a sequence of nodes where: ...

June 22, 2025 · 2 min · 396 words · Shubham

Mastering Python Decorators: A Practical Guide

Introduction As Python developers, we’re always searching for ways to write more efficient, clean, and maintainable code. Enter decorators — a powerful Python feature that allows you to modify or enhance functions without changing their core implementation. In this article, we’ll dive deep into decorators through a real-world performance monitoring example. What Are Decorators? At its core, a decorator is a function that takes another function as an input and extends or modifies its behaviour. Think of it like a wrapper that can add functionality to existing code without modifying the original function. ...

March 22, 2025 · 2 min · 380 words · Shubham