Stable Minimum Storage Merging by Symmetric Comparisons

  title={Stable Minimum Storage Merging by Symmetric Comparisons},
  author={Pok-Son Kim and Arne Kutzner},
We introduce a new stable minimum storage algorithm for merging that needs \(O(m\log(\frac{n}{m}+1))\) element comparisons, where m and n are the sizes of the input sequences with m≤ n. According to the lower bound for merging, our algorithm is asymptotically optimal regarding the number of comparisons. 
A Simple Algorithm for Stable Minimum Storage Merging
A principle of symmetric splitting is presented, where the start and end point of a rotation are computed by a repeated halving of two search spaces, which is structurally simpler than the principle of asymmetric comparisons introduced earlier by Kim and Kutzner.
On Optimal and Efficient in Place Merging
A new stable in place merging algorithm that needs O(mlog$(\frac{n}{m}+1) comparisons and O(m+n) assignments and according to the lower bounds for merging is asymptotically optimal regarding the number of comparisons as well as assignments.
On a Simple and Stable Merging Algorithm
This work investigates the worst case complexity regarding the number of comparisons for a simple and stable merging algorithm and gives a transparent solution for the hardly tractable problem of delivering a clean complexity analysis for the algorithm.
DuelMerge: Merging with Fewer Moves
This work proposes DUELMERGE, a stable merging algorithm that is asymptotically optimal in the number of comparisons and performs ( ( ( )) O n n log2 moves), which performs fewer moves than other stable solutions.
Lazy-Merge: A Novel Implementation for Indexed Parallel K-Way In-Place Merging
This research proposes Lazy-Merge, a novel implementation of sequential in- place in-place merging algorithms, that can be utilized in their parallel counterparts and compared with the existing algorithms on number of moves and execution time.
Asymptotically Optimal Merging on ManyCore GPUs
The asymptotic optimality of the splitting process is formally proved and it is shown that for symmetrically sized inputs the authors' approach delivers up to 4 times faster runtimes than the thrust::merge function that is part of the Thrust library.
A Time-space Efficient Algorithm for Parallel k-way In-place Merging based on Sequence Partitioning and Perfect Shuffle
The huge data volumes, big data, and the emergence of new parallel architectures lead to revisiting classic computer science topics and the motivation of the proposed work for revisiting the parallel architectures is motivated by the desire to revisit these topics.
A Time-space Efficient Algorithm for Parallel k-way In-place Merging based on Sequence Partitioning and Perfect Shuffle
To evaluate the proposed algorithm, as PS-merge produces the standard merging format, this algorithm is compared against the state-of-the-art methods, bitonic merge, a parallel binary merge tree, and lazy-MERge to show a significant improvement in overall execution time.
A modified version of merge sort is given, which in practice shows substantial improvement in running time than the top-down and bottom-up implementations of the classical merge sort.


Stable Sorting and Merging with Optimal Space and Time Bounds
This work introduces two algorithms for stable merging and stable sorting of files. The algorithms have optimal worst case time bounds, the merge is linear and the sort is of order $n \log n$. Extra
On a Stable Minimum Storage Merging Algorithm
Practical in-place merging
Constant of proportionality estimates and empirical testing reveal that this procedure is reasonably competitive with merge routines free to squander unbounded additional memory, making it particularly attractive whenever space is a critical resource.
Optimizing stable in-place merging
In situ, Stable Merging by Way of the Perfect Shuffle
It is shown that the perfect shuue can be attained using absolutely minimum storage and in linear time, at the expense of doubling the number of moves, relative to the simple method.
Sorting Presorted Files
  • K. Mehlhorn
  • Computer Science
    Theoretical Computer Science
  • 1979
A new sorting algorithm is presented. Its running time is O(n(1+log(F/n)) where F=|{(i,j); i<j and xi<xj}| is the total number of inversions in the input sequence xn xn−1 xn−2 ... x2 x1. In other
A Simple Linear-Time Algorithm for in Situ Merging
The art of computer programming: sorting and searching (volume 3)
Apparatus for supporting different nets for various sporting purposes including interengaging tubular rods which are arranged to interconnect and have ground engaging portions suitable to be useful
Programming pearls
This book is about programming pearls whose origins lie beyond solid engineering, in the realm of insight and creativity, and a new theme in this edition is how to evaluate and use software components.
The Art of Computer Programming
The arrangement of this invention provides a strong vibration free hold-down mechanism while avoiding a large pressure drop to the flow of coolant fluid.