Characterizing
Algorithms
ä What criteria do we use to compare the behavior of
algorithms in general?
ä Does one use more storage than another?
ä Does one work faster than another?
ä Does one algorithm behave better than another for a
certain type of input?
ä Do two algorithms solve related problems?
ä We need to consider these questions in a target
independent manner
ä The answers should not depend on the type of
processor and assembly language used
ä They should not depend on the high level language
used
ä They should only depend on the algorithms
(approach taken to the problem) themselves
ä When do we consider these questions?
ä If we use a program frequently
ä If the program must accept large inputs