Skip to content
CoreSource checked

Peak Finding

Peak Finding uses ordering or monotonic structure to eliminate candidates.

Quick Facts

Compact metadata for implementation and discovery.

Category
Searching
Difficulty
Intermediate
Family
Search
Tier
Core
Status
Verified
Review
Source Checked
Sources
1
Formulas
1
Relationships
1
Code example
Ready
Visualization
Ready

Overview

Peak Finding is a search method that uses ordering, indexing, predicates, or distance bounds to eliminate candidates. It is a good fit when the collection has enough structure to avoid checking every candidate.

Core Concepts

candidate pruningcomparison rulesearch intervalcandidate setquery comparisonelimination

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(1)

Average

O(log n)

Worst

O(n)

Space

O(1)

When to Use

  • Use Peak Finding when the collection has the ordering, metric, or index structure it needs.
  • Use it when setup or indexing cost is repaid by faster lookup.

When Not to Use

  • Avoid when the data lacks the ordering, index, predicate, or metric structure the method needs.
  • Avoid when setup costs exceed savings for a small one-off search.

What It Does

  • Narrows candidate items
  • Uses ordering, indexing, or distance tests
  • Returns the best matching position or item

Use Cases

  • Lookup in ordered data
  • Nearest-neighbor search
  • Predicate search

Inputs

  • Collection or search space
  • Target value or predicate
  • Ordering or distance rule

Outputs

  • Found item or position
  • Nearest candidate
  • Not-found result

Key Formulas (1)

Peak direction test

if a[mid] < a[mid + 1], search right; otherwise search left
if a[mid] < a[mid + 1], search right; otherwise search left

Moves toward a neighbor that proves a peak exists on that side.

Pseudocode

  1. 1.Initialize the candidate range, index, or frontier
  2. 2.Evaluate the target, predicate, or distance rule
  3. 3.Discard candidates that cannot improve the result
  4. 4.Repeat until the target or best candidate is found
  5. 5.Return the position, value, or not-found result

Canonical Example

Input
items = [1, 3, 5, 8], target or predicate = 5
Output
matching position or best candidate
Explanation
Peak Finding eliminates candidates until it finds the target or proves that no better candidate remains.

Implementation Notes

  • Assert sorted, indexed, or metric preconditions where possible.
  • Test empty, single-item, duplicate, and boundary target cases.
  • Search algorithms should define both success and failure semantics.

Common Pitfalls

  • Using the method on unsorted or unindexed data silently breaks assumptions.
  • Off-by-one bounds errors can skip valid candidates.
  • Off-by-one bounds, duplicates, and missing-target behavior should be specified before implementation.

Interactive Mechanism Walkthrough

Indexed Interval & Boundary Probe

Show candidate regions shrinking as comparisons or distance tests eliminate options.

Target key: 41low=0, mid=4, high=9
4[0]
9[1]
15[2]
22[3]
27[4]
34[5]
41[6]
49[7]
58[8]
63[9]
Step 1 of 5: Initialize the candidate range, index, or frontier
search

Notes

Peak Finding operates in O(log n) time and O(1) space within the Search family. Key governing relation: if a[mid] < a[mid + 1], search right; otherwise search left. Often compared with Binary Search and Linear Search.

Sources (1)

What each reference supports for this entry.

Introduction to Algorithms (CLRS)

Book

Textbook support for Peak Finding invariants, recurrences, relaxation rules, or asymptotic analysis.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Conceptual neighborBinary Search

Peak Finding and Binary Search address nearby searching problems but make different implementation tradeoffs.

Tags

Search