In textbook by Mitzenmacher and Upfal here, they write in page 62, the following:
By repeating Algorithm 3.1 until it succeeds in finding the median, we can obtain an iterative algorithm that never fails but has a random running time.
Note that that the algorithm has linear running time. Now, if we repeat this algorithm for k times, then the running time would be O(kn). Now, how they say that "By repeating algorithm until it succeeds in finding the median, we can obtain an iterative algorithm"? I do not understand how they get an iterative algorithm. In order to get an iterative algorithm, then the algorithm must call itself and must have a logarithmic running time.
Another question: What does they mean by "it has a random running time"?
About iterated algorithm, please look here. To see the algorithm, look at the book in page 59.