Lesson 061

What is an Algorithm?

Steps · Inputs · Outputs

1:00

What an algorithm is, the five properties that make one valid, the three universal building blocks, and why the same problem can have many algorithms with vastly different performance.

By the end, you can

  • Define *algorithm* in your own words using the input-steps-output framing.
  • Name the five required properties of an algorithm and explain what each one means.
  • Identify which property a flawed step violates (vagueness = definiteness; never-ending = finiteness).
  • Explain the historical origin of the word *algorithm* and the mathematician it honors.
  • Distinguish an algorithm from a program and explain how one algorithm can be expressed in many languages.
  • Classify a line of pseudocode as sequence, selection, or iteration.
  • Trace the find-largest algorithm on a short list and identify the value of *best* at each step.
  • Explain why binary search is dramatically faster than linear search on a sorted list and what precondition it requires.
Up next in Recursion, Paradigms & Algorithm Analysis
Questions or feedback?