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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.