algorithm analysis an algorithm is clearly specified set of simple instructions to be followed to solve problem once an algorithm is given for problem and decided (somehowto be correctan important step is to determine how much in the way of resourcessuch as time or spacethe algorithm will require an algorithm that solves problem but requires year is hardly of any use likewisean algorithm that requires thousands of gigabytes of main memory is not (currentlyuseful on most machines in this we shall discuss how to estimate the time required for program how to reduce the running time of program from days or years to fractions of second the results of careless use of recursion very efficient algorithms to raise number to power and to compute the greatest common divisor of two numbers mathematical background the analysis required to estimate the resource use of an algorithm is generally theoretical issueand therefore formal framework is required we begin with some mathematical definitions throughout this bookwe will use the following four definitionsdefinition (no( ( )if there are positive constants and such that ( <cf(nwhen > definition ( ( ( )if there are positive constants and such that ( >cg(nwhen > definition ( ( ( )if and only if (no( ( )and ( ( ( )definition (no( ( )iffor all positive constants cthere exists an such that (ncp(nwhen less formallyt(no( ( )if (no( ( )and ( ( ( )