Don't ask to ask, just ask | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
I haven't read the references you posted earlier, so please forgive me if that one was already suggested. You could store for each location an array of ranges that contain it:
Once this table is built, for every range it's very fast to test which other ranges overlap. To save memory, you can also use a string in each location, so that if you have ranges 1-5 and 4-6, the entry for for 5 would be 1-5,4-6. One million strings should fit into memory. If the array is rather sparse, you could also use a hash instead.
Perl 6 - links to (nearly) everything that is Perl 6.
In reply to Re: Range overlap (with a lot of ranges)
by moritz
|
|