5

Computation Models and Design by Refinement

Objectives

After reading this chapter, you should understand:

  • How program execution can be abstracted through various program execution models
  • The Functional Model of computation
  • The Imperative Model of computation
  • Proofs of Correctness for simple algorithms
  • Efficiency of programs
  • Recursive programs and considerations for efficiency
  • Scope Rules
  • Tail Recursion and its implications
  • Program Design through Step-wise Refinement

No amount of genius can overcome a preoccupation with detail.

—Marion Levy

There’s an easier way to do anything.

—Author unknown

Chapter Outline

Get Design and analysis of Algorithms, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.