for >= ai( )ai (ai( )for > and > in other wordsthe ackermann functions define progression of functionsa ( is the multiply-by-two function ( is the power-of-two function ( =math (with 'sis the tower-of-twos function and so on we then define the ackermann function as (nan( )which is an incredibly fast growing function likewisethe inverse ackermann functiona(nmin{ma( > }is an incredibly slow growing function it grows much slower than the logn function (which is the inverse of ( ))for exampleand we have already noted that logn is very slow-growing function selection there are number of applications in which we are interested in identifying single element in terms of its rank relative to an ordering of the entire set examples include identifying the minimum and maximum elementsbut we may also be interested insayidentifying the median elementthat isthe element such that half of the other elements are smaller and the remaining half are larger in generalqueries that ask for an element with given rank are called order statistics defining the selection problem in this sectionwe discuss the general order-statistic problem of selecting the kth smallest element from an unsorted collection of comparable elements this is known as the selection problem of coursewe can solve this problem by sorting the collection and then indexing into the sorted sequence at index - using the best comparison-based sorting algorithmsthis approach would take (nlogntimewhich is obviously an overkill for the cases where or (or even or )because we can easily solve the selection problem for these values of in (ntime thusa natural question to ask is whether we can achieve an (nrunning time for all values of (including the interesting case of finding the medianwhere =floorln/ floorr;prune-and-search