Blog
-
Backtracking | Exhaustive Search Algorithm Complete Guide
Master backtracking: exhaustive search algorithm complete guide. Learn backtracking basics, permutations, combinations with principles and code examples.
-
Dynamic Programming (DP) — Complete Guide
Complete guide to dynamic programming for coding interviews. Master memoization, tabulation, and DP patterns with principles and code examples.
-
DP Patterns | Dynamic Programming Problem-Solving Strategies
Master DP patterns: problem-solving strategies for dynamic programming.
-
DP Practice Problems — Complete Guide
Master DP practice problems: coding interview DP problem-solving strategies.
-
Greedy Algorithm | Best Choice Every Step Complete Guide
Greedy algorithms make the locally optimal choice at each step. When conditions are met, they efficiently find the optimal solution.
-
C++ Array vs vector: Performance, Safety, and When to Use
C-style arrays, std::array, and std::vector compared: stack vs heap, fixed vs dynamic size, bounds checking, benchmarks, and practical choice guide.
-
C++ vector reserve vs resize: When to Use Which
C++ vector reserve vs resize: reserve grows capacity only; resize changes length and initializes elements.
-
C++ Iterator Invalidation: “vector iterators incompatible”,
STL iterator invalidation rules for vector, list, map, unordered_* and deque.
-
Finding C++ Memory Leaks: Valgrind, AddressSanitizer,
Detect heap leaks with Valgrind memcheck, ASan+LSan, and Visual Studio CRT debug heap.
-
Why Is My C++ Program Slow? Find Bottlenecks with Profiling
Beyond Big-O: copying, allocations, cache misses, branch mispredictions, virtual calls.