array-based sequences using fixed increment for each resizeand thus an arithmetic progression of intermediate array sizesresults in an overall time that is quadratic in the number of operationsas shown in the following proposition intuitivelyeven an increase in cells per resize will become insignificant for large data sets proposition performing series of append operations on an initially empty dynamic array using fixed increment with each resize takes ( time justificationlet represent the fixed increment in capacity that is used for each resize event during the series of append operationstime will have been spent initializing arrays of size cmc for / and thereforethe overall time would be proportional to mc by proposition this sum is ( > >ci = = thereforeperforming the append operations takes ( time lesson to be learned from propositions and is that subtle difference in an algorithm design can produce drastic differences in the asymptotic performanceand that careful analysis can provide important insights into the design of data structure memory usage and shrinking an array another consequence of the rule of geometric increase in capacity when appending to dynamic array is that the final array size is guaranteed to be proportional to the overall number of elements that isthe data structure uses (nmemory this is very desirable property for data structure if containersuch as python listprovides operations that cause the removal of one or more elementsgreater care must be taken to ensure that dynamic array guarantees (nmemory usage the risk is that repeated insertions may cause the underlying array to grow arbitrarily largeand that there will no longer be proportional relationship between the actual number of elements and the array capacity after many elements are removed robust implementation of such data structure will shrink the underlying arrayon occasionwhile maintaining the ( amortized bound on individual operations howevercare must be taken to ensure that the structure cannot rapidly oscillate between growing and shrinking the underlying arrayin which case the amortized bound would not be achieved in exercise - we explore strategy in which the array capacity is halved whenever the number of actual element falls below one fourth of that capacitythereby guaranteeing that the array capacity is at most four times the number of elementswe explore the amortized analysis of such strategy in exercises - and -