How to sort 100GB worth of strings

前端 未结 7 844
情歌与酒
情歌与酒 2020-12-12 11:45

Given a harddrive with 120GB, 100 of which are filled with the strings of length 256 and 2 GB Ram how do I sort those strings in Java most efficiently? How long will it take

7条回答
  •  天命终不由人
    2020-12-12 12:18

    A1. You probably want to implement some form of merge-sort.

    A2: Longer than it would if you had 256GB RAM on your machine.

    Edit: stung by criticism, I quote from Wikipedia's article on merge sort:

    Merge sort is so inherently sequential that it is practical to run it using slow tape drives as input and output devices. It requires very little memory, and the memory required does not depend on the number of data elements.

    For the same reason it is also useful for sorting data on disk that is too large to fit entirely into primary memory. On tape drives that can run both backwards and forwards, merge passes can be run in both directions, avoiding rewind time.

提交回复
热议问题