初期化されていないメモリを使用して、ビットベクトルを格納するためのよく知られたトリックサイズのビットベクトルに割り当てることができたビットのすべてに設定されている0割り当てることによって(2 N + 1 )⌈ LG N ⌉メモリのビットと初期化のみ⌈ LGをN ⌉それらの。この表現は、一定時間でのビットの設定と設定解除をサポートします。
これは、「Alfred Aho、John Hopcroft、およびJeffrey Ullmanの1974年の本、The Computer and of Analysis of Computer Algorithms。。。。Chapter 2、演習2.12」、「Jon Bentleyの1986年の本、Programming Pearls。。。.Column 1、演習8、演習にさかのぼります。第2版の9」、および「プレストンブリッグスとリンダトルクゾンの1993年のペーパー、「スパースセットの効率的な表現」」。
Dodisらの「スペースを失うことなく、ベースを変更する」までわずかにスペース要件をもたらしこのアルゴリズムはの事前計算が必要ですが、ビットΘ (LG nは)と定数Θ (lg n )各ビット。
どのくらいのスペースを節約できますか?ビットベクトルの表現はありますか
- ビットは時間で設定または設定解除できます
- sの新しいビットベクトルを初期化すると、初期化されていないメモリのo (n lg n )ビットとO (lg n )の初期化メモリが使用されます。