Competitive Programmer's Handbook
by Antti Laaksonen · CSES (University of Helsinki)
Antti Laaksonen's free handbook. Its chapter on complete search and binary search treats the monotonic-predicate formulation and its off-by-one traps directly; later chapters implement depth-first and breadth-first search, shortest paths and tree traversal in C++.
More resources on Search Algorithms
Algorithms, Part I
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms. All the features of this course are available for free. People who are interested in digging deeper into the content may wish to obtain the textbook Algorithms, Fourth Edition (upon which the course is based) or visit the website algs4.cs.princeton.edu for a wealth of additional material. This course does not offer a certificate upon completion.
LeetCode
Online judge with thousands of algorithm and data-structure problems sorted by difficulty, topic and company, plus timed contests, discussion threads and study plans. Regular practice builds fluency with common interview problem patterns and writing correct, efficient code under time pressure.
CP-Algorithms
Breadth-first search article from CP-Algorithms, the community-maintained English edition of e-maxx. Covers the queue-based algorithm, its O(n+m) complexity, shortest paths in unweighted graphs, path reconstruction, and applications such as finding shortest cycles, with C++ code and practice problems.
Introduction to Algorithms (MIT 6.006)
Modeling computational problems and solving them with core algorithms and data structures: sorting, hashing, binary trees, heaps, graph search, shortest paths and dynamic programming. 32 lecture videos, notes, problem sets and exams with solutions teach asymptotic analysis and algorithm design.
Visualgo
Interactive visualizations of data structures and algorithms built by Steven Halim at the National University of Singapore, animating sorting, trees, graphs, and shortest paths step by step so learners can trace how each algorithm changes state.
Nearly All Binary Searches and Mergesorts Are Broken
Joshua Bloch's 2006 report on the integer-overflow bug that survived two decades in Jon Bentley's proven-correct binary search and nine years in the JDK, giving the corrected midpoint computation and explaining why testing never surfaced it. Short and tactical, but the primary source for the single most important practical lesson in this topic — binary search is famously easy to get subtly wrong.