โซลูชันที่ 1: หา bisectors ตั้งฉากระหว่างคู่ของจุดและสร้างการจัดเรียงของเส้นเหล่านี้ การจัดเรียงมีΘ ( n 4 )เซลล์ภายในซึ่งเรียงลำดับเป็นค่าคงที่ ดังนั้นสร้างโครงสร้างข้อมูลตำแหน่งจุดสำหรับการจัดเรียงและตกแต่งแต่ละเซลล์ด้วยลำดับที่เรียงซึ่งจะถูกส่งกลับสำหรับจุดภายในเซลล์นั้น คำสั่งที่เรียงลำดับระหว่างเซลล์ที่อยู่ติดกันจะแตกต่างกันในการย้ายครั้งเดียวเท่านั้นดังนั้นคุณสามารถใช้โครงสร้างข้อมูลถาวรเพื่ออนุญาตการแสดงคำสั่งที่เรียงลำดับเหล่านี้เพื่อแบ่งปันพื้นที่ พื้นที่ทั้งหมดคือO ( n 4 )และเวลาแบบสอบถามเป็นOΘ( n2)Θ ( n4)O ( n4) )O ( บันทึกn )
โซลูชันที่ 2: เลือกตัวอย่างสุ่มของของเส้นแบ่งครึ่งตั้งฉากเดียวกันเหล่านี้สร้างการจัดเรียงของพวกเขาและแบ่งพาร์ติชันแต่ละเซลล์การจัดเรียงตามส่วนของเส้นแนวตั้งผ่านแต่ละเส้นแบ่งของสองตัวอย่าง พาร์ติชันที่ได้นั้นมีเซลล์Θ ( n 2 )แต่ละเซลล์ที่มีความน่าจะเป็นสูงจะถูกข้ามโดยO ( n )เส้นแบ่งครึ่งที่ไม่ได้สุ่มตัวอย่าง ตกแต่งแต่ละเซลล์ของพาร์ติชันโดยการเรียงลำดับคะแนนที่ถูกต้องเมื่อดูจาก x ภายในเซลล์ พื้นที่รวมเป็นO ( n 3 )Θ ( n )Θ ( n2)O ( n )O ( n3)
ตอนนี้ในการทำแบบสอบถามให้ค้นหาจุดสอบถามในพาร์ติชันค้นหาการสั่งซื้อที่เก็บไว้กับเซลล์พาร์ติชันและใช้อัลกอริทึมการเรียงลำดับแบบต้นไม้เปรียบเทียบคาร์ทีเซียนของ Levcopoulos & Petersson (1989) เริ่มต้นด้วยการจัดเก็บนี้ เวลาสำหรับขั้นตอนนี้เป็นสัดส่วนกับที่k ฉันคือจำนวนของจุดที่ออกจากคำสั่งซื้อที่มีจุดYฉัน แต่∑ k ฉันคือO ( n ) (แต่ละเส้นแบ่งครึ่งที่ไม่ได้สุ่มทำให้เกิดจุดคู่ที่ไม่อยู่ในอันดับสูงสุด) ดังนั้นเวลาแบบสอบถามΣผมO ( 1 + บันทึกkผม)kผมYผม∑ kผมO ( n )ยังเป็น O ( n )Σผมโอ(1 + บันทึกkผม)O ( n )