32 research outputs found
Average-Case Complexity of Shellsort
We prove a general lower bound on the average-case complexity of Shellsort:
the average number of data-movements (and comparisons) made by a -pass
Shellsort for any incremental sequence is \Omega (pn^{1 + 1/p) for all . Using similar arguments, we analyze the average-case complexity
of several other sorting algorithms.Comment: 11 pages. Submitted to ICALP'9
Spin-the-bottle Sort and Annealing Sort: Oblivious Sorting via Round-robin Random Comparisons
We study sorting algorithms based on randomized round-robin comparisons.
Specifically, we study Spin-the-bottle sort, where comparisons are
unrestricted, and Annealing sort, where comparisons are restricted to a
distance bounded by a \emph{temperature} parameter. Both algorithms are simple,
randomized, data-oblivious sorting algorithms, which are useful in
privacy-preserving computations, but, as we show, Annealing sort is much more
efficient. We show that there is an input permutation that causes
Spin-the-bottle sort to require expected time in order to
succeed, and that in time this algorithm succeeds with high
probability for any input. We also show there is an implementation of Annealing
sort that runs in time and succeeds with very high probability.Comment: Full version of a paper appearing in ANALCO 2011, in conjunction with
SODA 201
Towards an energy aware DBMS: energy consumptions of sorting and join algorithms
Database management systems comprise various algorithms for efficiently retrieving and managing data. Typically, algorithm efficiency or performance is correlated with execution speed. However, the uptime of battery powered mobile- and embedded systems strongly depends on the energy consumption of the involved components. This paper reports our results concerning the energy consumption of different implementations of sorting and join algorithms. We demonstrate that high performance algorithms often require more energy than slower ones. Furthermore, we show that dynamically exchanging algorithms at runtime results in a better throughput
Ada style guide (version 1.1)
Ada is a programming language of considerable expressive power. The Ada Language Reference Manual provides a thorough definition of the language. However, it does not offer sufficient guidance on the appropriate use of Ada's powerful features. For this reason, the Goddard Space Flight Center Ada User's Group has produced this style guide which addresses such program style issues. The guide covers three areas of Ada program style: the structural decomposition of a program; the coding and the use of specific Ada features; and the textural formatting of a program