Какво ще кажете да използвате растерни изображения за запис за всеки възможен nbr
, дали тази стойност се използва или не?
За да запишете, че е взета стойност, използвайте SETBIT
:
SETBIT key [nbr] 1
За да намерите безплатен nbr
използвайте BITPOS
:
BITPOS key 0
За да избегнете условията на състезание, трябва да се уверите, че вашият набор е атомичен. [ОП разглежда това в последващ въпрос.]
Това ще изисква много малко памет (8K байта за 65536 възможни стойности). BITPOS
е O(n), но това е малко вероятно да е истински проблем.