Algorithm 426 : Merge sort algorithm [M1]

C. Bron

    Research output: Contribution to journalArticleAcademicpeer-review

    5 Citations (Scopus)

    Abstract

    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 [log2(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 × log2n)/2 when the objects are sorted to begin with and (n × log2n - n + 1) as an upper limit. When n is not an integral power of 2, the above formulas are approximate.
    Original languageEnglish
    Pages (from-to)357-358
    Number of pages2
    JournalCommunications of the ACM
    Volume15
    Issue number5
    DOIs
    Publication statusPublished - 1972

    Fingerprint Dive into the research topics of 'Algorithm 426 : Merge sort algorithm [M1]'. Together they form a unique fingerprint.

    Cite this