Saya ingin tahu apakah ada cara untuk menyimpan hash multi-set bilangan bulat yang memiliki properti berikut, idealnya:
- Ini menggunakan O (1) ruang
- Ini dapat diperbarui untuk mencerminkan penyisipan atau penghapusan dalam waktu O (1)
- Dua koleksi yang identik (yaitu, koleksi yang memiliki elemen yang sama dengan multiplisitas yang sama) harus selalu hash dengan nilai yang sama, dan dua koleksi yang berbeda harus hash ke nilai yang berbeda dengan probabilitas tinggi (yaitu, fungsi independen atau berpasangan independen)
Salah satu upaya awal ini adalah untuk menyimpan modulo produk perdana acak dari hash elemen individu. Ini memuaskan 1 dan 2 tetapi tidak jelas apakah itu, atau variasi dekat, akan memuaskan 3.
Saya awalnya memposting ini di StackOverflow .
* Properti 1 dan 2 bisa sedikit santai untuk, katakanlah, O (log n), atau polinomial sublinear kecil. Intinya adalah untuk melihat apakah kita dapat mengidentifikasi multi-set dan andal menguji kesetaraan tanpa menyimpan elemen itu sendiri.