A recent paper out of Microsoft Research describes a new, faster implementation of the patience sort algorithm.  A key part of the implementation is an improved merging strategy dubbed the ping-pong merge.  I am confused as to why this merge strategy uses two arrays to perform the merging, instead of just using a single array and always performing a blind merge as described in the paper.  It seems that always performing blind merges, and thus only using a single array to perform the merge, would cut down memory usage with no change in runtime.
Patience Sort+ ping pong merge implementation
ds.algorithms;ds.data structures;sorting