มีโครงสร้างข้อมูลที่ใช้อาร์เรย์ที่ไม่มีการเรียงลำดับของรายการดำเนินการประมวลผลล่วงหน้าในและค้นหาคำตอบ: มีองค์ประกอบในรายการแต่ละแบบสอบถามในเวลาที่เลวร้ายที่สุดหรือไม่
ฉันคิดว่ามันไม่มีจริง ๆ ดังนั้นหลักฐานที่แสดงว่าไม่มีใครได้รับการต้อนรับด้วย
มีโครงสร้างข้อมูลที่ใช้อาร์เรย์ที่ไม่มีการเรียงลำดับของรายการดำเนินการประมวลผลล่วงหน้าในและค้นหาคำตอบ: มีองค์ประกอบในรายการแต่ละแบบสอบถามในเวลาที่เลวร้ายที่สุดหรือไม่
ฉันคิดว่ามันไม่มีจริง ๆ ดังนั้นหลักฐานที่แสดงว่าไม่มีใครได้รับการต้อนรับด้วย
คำตอบ:
นี่เป็นข้อพิสูจน์ว่าเป็นไปไม่ได้ สมมติว่าคุณสามารถสร้างโครงสร้างข้อมูลดังกล่าว สร้างมัน แล้วเลือกรายการที่สุ่มจากรายการเพิ่มεแต่ละของพวกเขาที่εมีขนาดเล็กกว่าความแตกต่างระหว่างสองรายการในรายการและทำการสอบถามเพื่อตรวจสอบว่ารายการใด ๆ ที่เกิดขึ้นอยู่ใน รายการ. คุณได้ทำการค้นหาO ( n )ครั้ง
ผมอยากที่จะอ้างว่ารถของคุณได้มีเพียงพอที่จะบอกได้ว่ารายการในรายการเดิมมีขนาดเล็กกว่าหรือใหญ่กว่าใด ๆ รายการใหม่ข สมมติว่าคุณไม่สามารถบอกได้ จากนั้นเนื่องจากนี่เป็นรูปแบบการเปรียบเทียบคุณจะไม่ทราบว่าaเท่ากับbหรือไม่ซึ่งขัดแย้งกับสมมติฐานที่ว่าโครงสร้างข้อมูลของคุณทำงาน
ตอนนี้ตั้งแต่รายการที่คุณเลือกที่จะเป็นแบบสุ่มรถของคุณได้มีโอกาสสูงที่ได้รับข้อมูลเพียงพอที่จะแบ่งรายชื่อเดิมเข้าn / log nรายการแต่ละขนาดO ( บันทึกn ) โดยการเรียงลำดับแต่ละรายการเหล่านี้คุณจะได้รับO ( n log log n )แบบสุ่ม- อัลกอริทึมการเรียงลำดับเวลาตามการเปรียบเทียบเท่านั้นซึ่งเป็นข้อขัดแย้ง
เวลาซึ่งทำให้ต้นทุนการสืบค้น
โดยเฉพาะอย่างยิ่งการใช้การประมวลผลล่วงหน้าเราไม่สามารถมีค่าใช้จ่ายในการสืบค้นนอกจากนี้ประมวลผลล่วงหน้าสอดคล้องกับในสำหรับทุกๆดังนั้นค่าใช้จ่ายในการค้นหาo ( n ) o ( n log n ) k O ( n ε ) ε > 0 Ω ( n 1 - ε )