การค้นหาแบบไดนามิกขนาน


24

มีอะนาล็อกขนานตามธรรมชาติกับต้นไม้สีแดงดำที่มีคุณสมบัติคล้ายกันหรือแม้กระทั่งไม่เลวร้ายยิ่งกว่าสำหรับการอัปเดตในขณะที่ทำงานได้อย่างมีประสิทธิภาพพอสมควรหรือไม่?

โดยทั่วไปแล้วสิ่งที่ดีที่สุดที่เราสามารถทำได้สำหรับการค้นหาแบบขนานพร้อมกับการอัปเดตคืออะไร


คุณสมบัติใดที่คุณต้องการรักษาหรือเปลี่ยนให้เป็น มันสำคัญแค่ไหนที่ความสมดุลยังคงเป็นของต้นไม้สีแดงดำ? คาดว่าจะมีขอบเขตเช่นเดียวกับในรายการข้ามที่เกิดขึ้นพร้อมกันหรือไม่?
jbapple

ฉันคิดว่าขอบเขตที่คาดหวังน่าจะดี นี่คือสถานการณ์ที่เรากำลังตีโครงสร้างข้อมูลบ่อยครั้งด้วยค่าคีย์ที่อัปเดตดังนั้นเพื่อความแม่นยำและการดำเนินการเปลี่ยนคีย์ที่มีประสิทธิภาพแม้แต่ la fibonacci heaps ก็ใช้ได้ คุณมีการอ้างอิงที่ดีสำหรับรายการข้ามที่เกิดขึ้นพร้อมกันหรือไม่?
Suresh Venkat

เฮอร์ลิฮี & Shavit หนังสือศิลปะของการเขียนโปรแกรมมัลติหรือ"ล็อกฟรีรายการที่เชื่อมโยงและข้ามรายการ"หรือjava.util.concurrentหรือปฏิบัติล็อคเสรีภาพ คุณมีการพิจารณาโดยใช้ตารางแฮชพร้อมกันเช่นโต๊ะเตกัญชา ?
jbapple

ไม่จริง ฉันไม่รู้หนังสือในวิธีการที่เกิดขึ้นพร้อมกัน ขอบคุณสำหรับการอ้างอิง
Suresh Venkat

คำตอบ:


8

จากสิ่งที่ฉันสามารถบอกได้กลยุทธ์เกี่ยวข้องกับเงื่อนไขการผ่อนปรนการผ่อนคลาย นี่คือกระดาษจาก Hanke et al., 1997 [PDF]ซึ่งฉันคิดว่ามุ่งเน้นไปที่เทคนิคการรวมและการแก้ไขการดำเนินการอัปเดตเพื่อให้สามารถดำเนินการพร้อมกันได้


5

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

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


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