Explore data structures, algorithms, and complexity analysis. Plus a curated set of interview coding questions.
Complexity analysis is the process of evaluating how an algorithm's resource usage — time and memory — scales as the input size grows. It helps compare algorithms and choose the right one for a given problem.
A data structure defines how data is organized and stored in memory. Choosing the right structure directly impacts the efficiency of operations like access, search, insertion, and deletion.
- Array ✅
- String ✅
- Linked List ✅
- Stack ✅
- Queue ✅
- Heap (PriorityQueue) ✅
- Hashing ✅
- TreeMap & TreeSet ✅
- Trie (Prefix Tree) ✅
- Disjoint-set (Union Find) ✅
- Binary Index Tree (Fenwick Tree) ✅
- Segment Tree (ZKW Tree) ✅
An algorithm is a step-by-step procedure for solving a problem. Understanding common algorithmic patterns allows you to break down complex problems and apply proven strategies efficiently.