Most efficient way of storing 1024*1024 bits
Steven D'Aprano
steve at REMOVETHIScyber.com.au
Wed Nov 2 16:33:23 EST 2005
On Wed, 02 Nov 2005 13:55:10 +0100, Tor Erik Sønvisen wrote:
> Hi
>
> I need a time and space efficient way of storing up to 6 million bits.
[inserts pinky in corner of mouth]
Six MILLION bits!!!
That's almost 750K. Are you sure your computer will handle that much data?
> Time
> efficency is more important then space efficency as I'm going to do searches
> through the bit-set.
Could you be more vague if you tried? Searching for what? Does your data
have structure you can exploit? Can you put it in a tree structure? Are
you going to be inserting and deleting data?
If you can handle your six million bits in lots of eight, store them as a
character string.
If you can keep your data sorted, then you can do binary searches instead
of linear searches. If your data is hashable, you can store it in a
dictionary and potentially get up to constant-time search speeds.
Or forget about manipulating bits, and just store your data as bools in
a list.
Explain your problem a little better, and you may get some better advice.
--
Steven.
More information about the Python-list
mailing list