Sorting by means of a two-way merge has a reputation of requiring a clerically complicated and cumbersome program. This ALGOL 60 procedure demonstrates that, using recursion, an elegant and efficient algorithm can be designed, the correctness of which is easily proved [2]. Sorting n objects gives rise to a maximum recursion depth of [log 2 ( n - 1) + 2]. This procedure is particularly suitable for sorting when it is not desirable to move the n objects physically in store and the sorting criterion is not simple. In that case it is reasonable to take the number of compare operations as a measure for the speed of the algorithm. When n is an integral power of 2, this number will be comprised between ( n × log 2 n )/2 when the objects are sorted to begin with and ( n × log 2 n - n + 1) as an upper limit. When n is not an integral power of 2, the above formulas are approximate.
No takes yet. Share an insight, caveat, or question.
Coen Bron (1972) studied this question.
Synapse has enriched one closely related paper. Consider it for comparative context: