chap algorithm analysis when we want an estimate of the running time or other resource requirements of an algorithm this simplifies the analysis and keeps us thinking about the most important aspectthe growth rate this is called asymptotic algorithm analysis to be preciseasymptotic analysis refers to the study of an algorithm as the input size "gets bigor reaches limit (in the calculus sensehoweverit has proved to be so useful to ignore all constant factors that asymptotic analysis is used for most algorithm comparisons it is not always reasonable to ignore the constants when comparing algorithms meant to run on small values of nthe constant can have large effect for exampleif the problem is to sort collection of exactly five recordsthen an algorithm designed for sorting thousands of records is probably not appropriateeven if its asymptotic analysis indicates good performance there are rare cases where the constants for two algorithms under comparison can differ by factor of or moremaking the one with lower growth rate impractical for most purposes due to its large constant asymptotic analysis is form of "back of the envelopeestimation for algorithm resource consumption it provides simplified model of the running time or other resource needs of an algorithm this simplification usually helps you understand the behavior of your algorithms just be aware of the limitations to asymptotic analysis in the rare situation where the constant is important upper bounds several terms are used to describe the running-time equation for an algorithm these terms -and their associated symbols -indicate precisely what aspect of the algorithm' behavior is being described one is the upper bound for the growth of the algorithm' running time it indicates the upper or highest growth rate that the algorithm can have to make any statement about the upper bound of an algorithmwe must be making it about some class of inputs of size we measure this upper bound nearly always on the best-caseaverage-caseor worst-case inputs thuswe cannot say"this algorithm has an upper bound to its growth rate of we must say something like"this algorithm has an upper bound to its growth rate of in the average case because the phrase "has an upper bound to its growth rate of ( )is long and often used when discussing algorithmswe adopt special notationcalled big-oh notation if the upper bound for an algorithm' growth rate (forsaythe worst caseis ( )then we would write that this algorithm is "in the set ( ( ))in the worst case(or just "in ( ( ))in the worst case"for exampleif grows as