🐍 Free & Open · No Login Required

Master Python DSA.
Ace the Coding Interview.

26 free guides covering Python data structures and algorithms from arrays to maximum flow. Practical Python code, clear explanations, and complexity analysis — built for engineers who want to understand DSA deeply, not just memorise patterns.

26 Guides
~208m Reading
Free Forever

Foundations

Big O notation, complexity analysis, and the vocabulary every DSA learner needs.

Data Structures

Arrays, linked lists, stacks, queues, hash tables, and trees — with Python code for every operation.

Data Structures

Arrays

Python lists as dynamic arrays: access, iteration, insertion, deletion, and time complexity for every operation.

Data Structures

Linked Lists

Singly linked lists in Python: Node class, traversal, insert at head and tail, delete by value, and comparison with arrays.

Data Structures

Stacks

LIFO stacks using Python lists, a Stack class, and classic applications including balanced bracket checking.

Data Structures

Queues

FIFO queues with collections.deque, why not to use list.pop(0), Queue class, and introduction to priority queues.

Data Structures

Hash Tables

How hash functions work, collision resolution with chaining and open addressing, Python dict internals, and load factor.

Data Structures

Hash Sets

Python sets for O(1) membership testing, set operations (union, intersection, difference), frozenset, and interview patterns.

Data Structures

Binary Trees

Tree terminology, TreeNode class, in-order / pre-order / post-order / level-order traversals with Python code.

Data Structures

Binary Search Trees

BST property, recursive insertion and search, deletion with three cases, and why unbalanced trees degrade to O(n).

Data Structures

AVL Trees

Self-balancing BSTs: balance factor, four rotation types (LL/LR/RL/RR), AVL insertion with Python code.

Graphs

Graph representations, BFS and DFS traversal with full Python implementations.

Sorting Algorithms

Seven sorting algorithms from O(n²) basics to O(n log n) and beyond — all with Python implementations.

Graph Algorithms

Shortest path, minimum spanning tree, and maximum flow — the advanced graph algorithms every engineer should know.