Hoe zit het met het gebruik van Bitmaps om op te nemen, voor elk mogelijk nbr
, of die waarde al dan niet wordt gebruikt?
Gebruik SETBIT
. om vast te leggen dat een waarde is genomen :
SETBIT key [nbr] 1
Een gratis nbr
vinden gebruik BITPOS
:
BITPOS key 0
Om race-omstandigheden te vermijden, moet je ervoor zorgen dat je set-and-set atomair is. [Het OP behandelt dit in een vervolgvraag.]
Dit vereist zeer weinig geheugen (8K bytes voor 65536 mogelijke waarden). BITPOS
is O(n), maar dat is waarschijnlijk geen echt probleem.