Saya mencari struktur data hemat-ruang yang menampung set (tanpa pengulangan) elemen wordsize dan mendukung penyisipan cepat (diamortisasi O (1)). Dengan "hemat-ruang" Maksud saya, idealnya, kata-kata untuk disimpann elemen.
Menjadi himpunan adalah bagian penting dari pertanyaan: jika setiap elemen ditambahkan kali ruang yang digunakan tidak dapatn log n .
Struktur juga harus mendukung daftar unsur-unsurnya (masuk akal secara efisien); setiap struktur waras seharusnya tidak memiliki masalah di sini. (Pertanyaan keanggotaan cepat merupakan nilai tambah.)
ds.data-structures
Charles
sumber
sumber
Jawaban:
Saya pikir "Kamus dan Pohon Dinamis Singkat" Raman dan Rao memenuhi batasan yang Anda tentukan. Dari abstrak:
sumber
Jika aplikasi Anda dapat mentolerir beberapa kesalahan positif, maka Anda harus menggunakan filter Bloom .
Paraphrase Wikipedia: Filter Bloom adalah struktur data probabilistik yang efisien-ruang yang digunakan untuk menguji apakah suatu elemen adalah anggota suatu set. Positif palsu dimungkinkan, tetapi negatif palsu tidak mungkin. Elemen dapat ditambahkan ke set, tetapi tidak dihapus. Semakin banyak elemen yang ditambahkan ke set, semakin besar kemungkinan positif palsu.
sumber