Algorithmic complexity
An algorithm is supposed to do two things:
1.
Compute the correct answer given valid input data.
2.
Perform the computation in a reasonable time.
The second point is of course essential.
A correct algorithm is useless if it is too
slow
. In such cases, we must find another algorithm, or maybe we will have to accept
some approximation which allows us to use another algorithm, which runs in
reasonable time, but only generates an approximately correct result (whatever that
means).
Computer science is the science that deals with the issues of proving that an algorithm
is correct, and what its properties are, such as how long time it can be expected to
need in the average case, or how much time it will use in the worst case. These
analyses are done without reference to any specific computer or programming
language; the issue is how many calculation steps (such as additions and
multiplications, or exhanges of items in an array) are needed to obtain the result, and
how this depends on the size of the problem.
One of the most important properties of an algorithm is how its execution time
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '10
 LauraChoudry
 Chemistry, Computer Science, Analysis of algorithms, Computational complexity theory, input data

Click to edit the document details