In
computer science, the
analysis of algorithms is the determination of the amount of resources (such as time and storage) necessary to
execute them. Most
algorithms are designed to work with inputs of arbitrary length. Usually, the efficiency or running time of an algorithm is stated as a function relating the input length to the number of steps (
time complexity) or storage locations (
space complexity).