2
โครงสร้างข้อมูลถาวรใดสำหรับชุดองค์ประกอบที่เรียงลำดับบางส่วน
ฉันต้องการจัดเก็บชุดองค์ประกอบของประเภท a ประเภทสั่งบางส่วนเพื่อเปรียบเทียบ1และ2สามารถกลับมามีขนาดเล็กมากขึ้นเท่ากันหรือหาที่เปรียบมิได้a1a1a_1a2a2a_2 ปัญหาอย่างหนึ่งของแฮชเทเบิลคือองค์ประกอบที่เท่ากันสองค่าสามารถนำเสนอได้แตกต่างกันและฉันไม่สามารถเข้าถึงฟังก์ชันการแฮชที่สอดคล้องกับความเท่าเทียมกันได้ การเปรียบเทียบองค์ประกอบสองรายการอาจเป็นกระบวนการที่มีความยาวดังนั้นจึงน่าสนใจที่จะลดการเปรียบเทียบให้น้อยที่สุด หากจำเป็นสามารถบันทึกการโทรไปยังผู้ดำเนินการเปรียบเทียบได้ ตอนนี้ฉันรู้แล้วว่าฉันจะต้องเก็บ antichains เท่านั้น (หรือสมมติว่าเป็นอย่างนั้น) แม่นยำมากขึ้นการดำเนินการที่ฉันจะต้องดำเนินการมีดังนี้: ลบองค์ประกอบออกจาก antichain; ลองเพิ่มองค์ประกอบ หากองค์ประกอบมีขนาดเล็กกว่าสมาชิกอย่าเพิ่มองค์ประกอบมิฉะนั้นให้เพิ่มและลบทุกองค์ประกอบที่เล็กกว่านั้น i1<a<i2i1<a<i2i_1 < a < i_2i3<b<i4i3<b<i4i_3 < b < i_4i2<i3i2<i3i_2 < i_3a<ba<ba < bi2≮i3i2≮i3i_2 \not< i_3a≮ba≮ba \not < b