Overview

An algorithm is a well defined computational procedure that takes in some value(s) as input and produces some value(s) as output in a finite amount of time. The computational steps that transform the input into output is what can be classified as the algorithm.

Asymptotic Notation

For a given algorithm we can sometimes determine an exact running time. But more often than not this is not worth the effort.

Instead asymptotic efficiency