Linear Search
Linear search checks elements one by one until it finds the target or reaches the end.
Start with this mental model
Linear search checks elements one by one until it finds the target or reaches the end.
How it works, without unnecessary jargon
It needs no sorting or preprocessing.
Worst-case it examines every element, so time is O(n).
Read the algorithm as a sequence of decisions
Write the preconditions first (sorted? uniform? random access?).
Maintain a clear search interval/state.
Prove that each step makes progress toward termination.
Read a tiny input by hand and write down the state after every important operation. For Linear Search, the goal is to make the invariant visible rather than to memorize code.
function linearSearch(items, target) {
for (let i = 0; i < items.length; i++) {
if (items[i] === target) return i;
}
return -1;
}Do not memorize the syntax. Follow the state that changes on each line and connect it to the invariant described above.
O(n)
Do not quote this complexity mechanically. Ask which operation or input dimension it describes, then derive the cost from the loops, recursion depth, data-structure operations and any preprocessing assumptions.
Good fit
- Match the algorithm to the structure and preprocessing state of the data.
What usually goes wrong
- Violating preconditions.
- Boundary and termination bugs.
A professional answer shape
Do not dismiss it as 'bad'. For small, unsorted or one-off searches it may be the simplest and correct choice.
What problem does Linear Search solve?
Linear search checks elements one by one until it finds the target or reaches the end.
What should I mention about complexity?
Its typical cost here is O(n), but a complete answer should connect that cost to the representation, input constraints and the dominant operations.
What is the most common mistake?
Violating preconditions.