Under these circumstances, a stable sort will be required, as only a stable sort will maintain the order produced by one sorting pass, while sorting on a different key on another pass. This is the question of how much space overhead does the sort require. This can be considered NO overhead. For short records, this is significant, but not for long records. However, pointer sorts are not generally used when sorting short records.
Sorts using linked list storage require space for at least N pointers.
Again, for short records this is significant, but not for long records. The BinSort also requires space for the Heads and Tails of the Bins. This is usually not a substantial amount of space. The AddressCalculationSort requires space for M Heads and Tails, where M is the Range of keys. The version used here uses linked lists and has the same space overhead as the other LinkedList oriented sorts.