ฉันอยากรู้ว่ามีวิธีเก็บแฮชของจำนวนเต็มหลายชุดที่มีคุณสมบัติดังต่อไปนี้หรือไม่:
- มันใช้พื้นที่ O (1)
- สามารถอัปเดตให้สะท้อนถึงการแทรกหรือการลบในเวลา O (1)
- คอลเลคชั่นที่เหมือนกันสองชุด (เช่นคอลเลกชันที่มีองค์ประกอบเดียวกันที่มีหลายหลากเท่ากัน) ควรแฮชไปที่ค่าเดียวกันเสมอและคอลเลกชันที่แตกต่างกันสองชุดควรแฮชกับค่าที่แตกต่างกัน
หนึ่งความพยายามครั้งแรกในที่นี้คือการจัดเก็บโมดูโลผลิตภัณฑ์แบบสุ่มนายกรัฐมนตรีของแฮชขององค์ประกอบแต่ละรายการ สิ่งนี้ตรงกับที่ 1 และ 2 แต่ไม่ชัดเจนว่ามันหรือการเปลี่ยนแปลงที่ใกล้เคียงจะตอบสนอง 3
ฉันเดิมโพสต์เกี่ยวกับเรื่องนี้StackOverflow
* คุณสมบัติที่ 1 และ 2 อาจผ่อนคลายเล็กน้อยเพื่อพูด O (log n) หรือพหุนามย่อยขนาดเล็ก ประเด็นคือเพื่อดูว่าเราสามารถระบุหลายชุดและทดสอบความเท่าเทียมกันอย่างน่าเชื่อถือได้หรือไม่โดยไม่ต้องจัดเก็บองค์ประกอบเอง