ฉันฝันถึงโครงสร้างข้อมูลมันมีอยู่จริงหรือไม่?


27

ฉันไม่สามารถหาโครงสร้างข้อมูลนี้ได้ แต่ฉันไม่ใช่ผู้เชี่ยวชาญในสาขานี้

โครงสร้างใช้ชุดและโดยทั่วไปจะเป็นอาร์เรย์ขององค์ประกอบที่เทียบเคียงกับค่าคงที่ ค่าคงที่คือค่าต่อไปนี้ (กำหนดแบบเรียกซ้ำ):

อาเรย์ของความยาว 1 เป็นอาเรย์ผสาน

อาร์เรย์ที่มีความยาว 2 ^ n (สำหรับ n> 0) เป็นอาร์เรย์ผสาน iff:

  • ครึ่งแรกเป็นอาร์เรย์ผสานและครึ่งหลังว่างเปล่าหรือ
  • อาร์เรย์แรกเต็มและเรียงลำดับแล้วครึ่งปีหลังเป็นอาร์เรย์ผสาน

โปรดทราบว่าถ้าอาร์เรย์เต็มจะถูกจัดเรียง

ในการแทรกองค์ประกอบเรามีสองกรณี:

  • หากครึ่งแรกไม่เต็มให้แทรกแบบเรียกซ้ำในครึ่งแรก
  • หากครึ่งแรกเต็มให้แทรกแบบเรียกซ้ำในครึ่งหลัง
  • หลังจากขั้นตอนแบบเรียกซ้ำถ้าทั้งอาร์เรย์เต็มแล้วให้แบ่งครึ่ง (ซึ่งจัดเรียง) แล้วปรับขนาดให้เป็นสองเท่าของความยาวดั้งเดิม

ในการค้นหาองค์ประกอบให้แบ่งเป็นสองส่วนโดยใช้การค้นหาแบบไบนารีเมื่ออาร์เรย์เต็ม (ควรมีประสิทธิภาพเนื่องจากมีมากที่สุดจากน้อยไปหามาก)O(เข้าสู่ระบบ(n))

โครงสร้างสามารถถือเป็นแบบคงที่ของการรวมกัน

ยังไม่ชัดเจนว่าควรทำอย่างไรเพื่อลบองค์ประกอบ

แก้ไข: หลังจากปรับปรุงความเข้าใจโครงสร้าง


5
คุณกำหนดมันจึงมีอยู่ ฉันคิดว่าคุณต้องทำให้บางประเด็นเรียบขึ้น อันดับแรกค่าคงที่ # 2 ทำให้ฉันสับสนเพราะมันดูเหมือนจะไม่ได้ใช้กับรัฐตัวกลางในขณะที่คุณอธิบาย ประการที่สองคุณจะทำอย่างไรเมื่อองค์ประกอบถูกลบออก?
กราฟิลส์

7
คุณฝันถึงโครงสร้างข้อมูลไม่ได้ฝันของมัน ...
Andrej Bauer

@ ราฟาเอลขอบคุณสำหรับความคิดเห็นของคุณฉันปรับปรุงคำนิยามตามความคิดของคุณ ฉันไม่ได้นึกถึงอัลกอริทึมสำหรับการลบฉันแค่ต้องการตรวจสอบว่าโครงสร้างนี้อยู่ในวรรณคดีก่อนที่จะอุทิศเวลาให้กับมันมากกว่านี้หรือไม่และไม่พบสิ่งใดใน Google ในประโยคแรกของคุณคุณสามารถกำหนดพระเจ้า แต่มันมีอยู่จริงหรือไม่? :)
pbaren

@ Andrej ขอบคุณภาษาอังกฤษไม่ใช่ภาษาแม่ของฉัน (ผมคิดว่ามันไม่ใช่ของคุณทั้ง :)
pbaren

3
@ Andrej: OP เดิมทีมี "ความฝันด้วย " ซึ่งแทบจะไม่ได้หมายความว่าอะไร ฉันเปลี่ยนเป็น "ของ" แทนที่จะเป็น "up" ทั้งสองถูกต้องตามหลักไวยากรณ์ แต่ทั้งคู่ก็เปลี่ยนความหมาย "Of" เป็นตัวเลือกที่ทำให้เกิดเสียงที่น่าสนใจมากขึ้น ...
András Salamon

คำตอบ:


31

คุณกำลังอธิบายวิธีลอการิทึมแบบคลาสสิกของBentley-Saxeซึ่งใช้กับอาร์เรย์ที่เรียงลำดับแบบคงที่ แนวคิดเดียวกันนี้สามารถนำมาใช้เพื่อเพิ่มการสนับสนุนสำหรับการแทรกไปยังโครงสร้างข้อมูลแบบคงที่ใด ๆ (ไม่มีการแทรกหรือการลบ) สำหรับปัญหาการค้นหา decomposable (ปัญหาค้นหาเป็นdecomposableถ้าคำตอบเพื่อความเป็นเอกภาพใด ๆBสามารถคำนวณได้อย่างง่ายดายจากคำตอบสำหรับชุดและB .) การเปลี่ยนแปลงเพิ่มขึ้นครั้งแบบสอบถามตัดจำหน่ายโดยปัจจัยของO ( บันทึกn ) (ยกเว้นกรณีที่มันเป็น ใหญ่กว่าพหุนามในn แล้วABABO(เข้าสู่ระบบn)n) แต่เพิ่มพื้นที่โดยปัจจัยคงที่เท่านั้น ใช่มันสามารถทำให้เสื่อมเสียได้ขอบคุณ Overmars และ van Leeuwen แต่คุณไม่ต้องการทำเช่นนั้นหากคุณไม่จำเป็นต้องทำ

หมายเหตุเหล่านี้ครอบคลุมพื้นฐาน

อาร์เรย์ที่มองไม่เห็นด้วยตาเปล่าคือลูกหลานที่กลายพันธุ์ของ Bentley-Saxe และต้น Van Emde Boas บนเตียรอยด์


4
บันทึกเหล่านี้เขียนขึ้นอย่างสวยงามและมีภาพประกอบและฉันใช้มันเป็นข้อมูลอ้างอิงหลายครั้ง ขอบคุณที่ทำให้พวกเขาพร้อมใช้งาน!
jbapple

ฉันเห็นว่าต้นไม้กระสวย (จากครึ่งแรกของกระดาษที่แนะนำแคชที่มองไม่เห็นอาร์เรย์อะนาเฮด) มีความสัมพันธ์กับต้นไม้ vEB แต่ความสัมพันธ์ระหว่าง COLAs และต้นไม้ vEB คืออะไร?
jbapple

2
ขอบคุณวัสดุนี้ดูเหมือนจะเป็นแนวความคิดที่น่าสนใจมาก ฉันคิดอยู่เสมอว่าโครงสร้างข้อมูลนั้นเป็นอัลกอริธึมแช่แข็งซึ่งคุณสามารถเรียกใช้ทีละขั้นตอนได้ แต่ฉันไม่เคยพบวิธีที่เป็นประโยชน์ของการรู้ตัว
pbaren

ลิงค์แรกใช้ได้สำหรับคนอื่นหรือไม่
AT

ใช่ฉันแค่ลองมัน (น่าเสียดายที่มันไปที่ Elsevier paywall; ขออภัย!)
Jeffε

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.