Algorithm
An algorithm is a finite, precisely specified procedure for performing a computation, transforming inputs into outputs, or solving a problem.
Fabulous Adventures in Data Structures and Algorithms
An algorithm is a finite, precise procedure for solving a problem or computing a result.
- How it is used
- Frames problem solving as finite procedures whose usefulness depends on the problem and the data they operate on.
- How deep it goes
- Defines algorithms and their complexity, then illustrates cost growth; it does not derive a general implementation method.
- Examples
- Uses ad selection, array access, integer summation, map coloring, Sudoku, and Game of Life optimization.
- What you can do after
- Evaluate/understand it by identifying a procedure and comparing how its resource cost grows with problem size.
Read how Fabulous Adventures in Data Structures and Algorithms explains algorithm →
How Computers Make Books
An algorithm is a finite, explicit sequence of instructions for carrying out a computation or solving a problem.
- How it is used
- Uses explicit steps to turn text searching into a procedure a computer can follow.
- How deep it goes
- Works through a complete pseudocode search and comparison procedure, including bounds, matching, failure, and recursive advancement.
- Examples
- Traces horses through “houses and horses and hearses,” locating the match at position 11.
- What you can do after
- Build it from scratch as a pseudocode text search that tests each possible starting position.
Related concepts
- backtrackingincludes · Backtracking is a technique that returns to earlier decisions or states along a path to reconsider choices, explore alternatives, or reconstruct a solution.
- breadth-first searchincludes · Breadth-first search is a graph or tree traversal algorithm that explores nodes in nondecreasing order of their distance from a starting node.
- unsupervised learningincludes · Unsupervised learning is a machine-learning approach that discovers patterns, structure, or representations in data without labeled target outputs.
- language modelproduces · A language model is a computational model that represents patterns in linguistic tokens to estimate sequence probabilities and predict or generate language from context.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.

