Co takhle použít k záznamu bitmapy pro všechny možné nbr
, zda je tato hodnota použita nebo ne?
Chcete-li zaznamenat, že byla přijata hodnota, použijte SETBIT
:
SETBIT key [nbr] 1
Chcete-li najít bezplatný nbr
použijte BITPOS
:
BITPOS key 0
Abyste se vyhnuli závodním podmínkám, budete se chtít ujistit, že váš get-and-set je atomický. [OP to řeší v následné otázce.]
To bude vyžadovat velmi málo paměti (8 kB pro 65 536 možných hodnot). BITPOS
je O(n), ale to pravděpodobně nebude skutečný problém.