in reply to Re: RandomFile in thread RandomFile
For some definition of efficient it is efficient as well.
Seek to a random place in the file. Walk backwards until you find the start of that line, read it. If it is the wrong length try again.
Average run-time is O(1) and your choice is perfectly random, but the constant depends on the proportion of the file that is in N letter words. If none then you will never find that out. (OK, you can skip whenever it comes up with a position you have tested. This involves more pre-processing but can be faster in the end.)
Cheers,
Ben
|