Sorting Algorithms in MOQA

  • Jacinta Townley
  • , Joseph Manning
  • , Michel Schellekens

Research output: Contribution to journalArticlepeer-review

Abstract

A high-level overview of the MOQA language is presented. The representation of its data structure, a labeled series-parallel partial order, is shown along with some of the functions allowed upon this data structure. The combination of MOQA's data structure and its functions capture the required calculus to statically obtain the average-case time of algorithms written in this language. The implementation of these concepts is discussed and algorithms written in this implementation are presented. A detailed analysis of one of these implemented algorithms, quicksort, critically compares its average-case time in MOQA against the average-case time of standard quicksort. While the asymptotic average of quicksort in MOQA remains unchanged, extra constant costs are incurred by the MOQA method. It is shown that these costs result from molding the algorithm around the MOQA data structure and functions versus the general approach of choosing the data structure and functions that best match the algorithm. This limitation is balanced against an approach that aims to obtain the average-case time of algorithms statically.

Original languageEnglish
Pages (from-to)391-404
Number of pages14
JournalElectronic Notes in Theoretical Computer Science
Volume225
Issue numberC
DOIs
Publication statusPublished - 2 Jan 2009

Keywords

  • analysis of algorithms
  • average case
  • partial order
  • quicksort
  • randomness preservation
  • sorting

Fingerprint

Dive into the research topics of 'Sorting Algorithms in MOQA'. Together they form a unique fingerprint.

Cite this