Copyright © 1999-2005 Steven J. Zeil, Old Dominion University
Table of Contents
Our primary tool in trying to predict the speed of an algorithm is going to be an idea we call the “complexity” or more specifically the “worst case complexity” of the algorithm.
The English language word “complexity” may mean many things, and two people might not necessarily agree which of two algorithms are more complex in the generic sense. But in this lesson we are going to explore a specific definition of complexity that will, as it turns out, be directly related to the running speed of the algorithm.
I'll warn you right up front that the initial work we are going to do, both giving this definition and showing how it applies, is going to be little bit tedious. But as we go through the remainder of the lessons in this section of the course, we will come up with faster and elegant ways to apply this idea of complexity to actual coded algorithms.