İdeal olarak, aşağıdaki özelliklere sahip olan çoklu küme tam sayı kümesini saklamanın bir yolu olup olmadığını merak ediyorum:
- O (1) alanı kullanır
- Bir ekleme veya silme işleminin O (1) sürede yansıtılması için güncellenebilir
- İki özdeş koleksiyon (yani aynı çokluğa sahip aynı öğelere sahip olan koleksiyonlar) her zaman aynı değere sahip olmalı ve iki ayrı koleksiyon yüksek olasılıkla farklı değerlere sahip olmalıdır (yani, işlev bağımsız veya ikili bağımsızdır)
Bu konuda ilk girişim, ürün modülünü, bireysel elemanların hashlarının rastgele bir asalını depolamak olacaktır. Bu, 1 ve 2'yi tatmin eder, ancak yakın bir varyasyonun 3 yerine getirip getirmeyeceği açık değildir.
Bunu aslında StackOverflow'a gönderdim .
* Özellikler 1 ve 2, örneğin O (log n) veya küçük bir sublinear polinom için biraz gevşetilebilir. Mesele şu ki, çoklu kümeleri tanımlayıp tanımlayamayacağımızı ve elemanları kendileri saklamadan eşitliği güvenilir bir şekilde test edip edemeyeceğimizi görmek.