ฉันกำลังมองหาอัลกอริทึมแบบ one-pass ซึ่งคำนวณพาริตี้ของการเปลี่ยนแปลง ฉันคิดว่าการเปลี่ยนแปลงการป้อนข้อมูลจะได้รับจากกระแส ] ผลลัพธ์ควรเป็นความเท่าเทียมกันของการเปลี่ยนแปลง คำถามที่ฉันสนใจว่าควรใช้อัลกอริธึมกำหนดค่าความจำเท่าใด มีอัลกอริทึมแบบสุ่มสำหรับปัญหาหรือไม่
ฉันรู้ว่าการคำนวณจำนวนผู้รุกรานในหนึ่งรอบใช้หน่วยความจำขอบเขตบนสามารถหาได้ง่ายด้วย BST ใด ๆ ขอบเขตล่างถูกแสดงไว้ที่นี่: http://citeseerx.ist.psu.edu/viewdoc/versions?doi=10.1.1.1.112.5622
อนิจจาหลักฐานของขอบเขตล่างในกระดาษไม่สามารถขยายไปยังกรณีพาริตี้ (หรือไม่ชัดเจนดังนั้นสำหรับฉัน)
นอกจากนี้ฉันรู้ว่าการคำนวณความเท่าเทียมกันในพื้นที่เล็ก ๆ ด้วยการเข้าถึงการเปลี่ยนแปลงแบบสุ่มสามารถทำได้ในเวลาและO ( log 2 n )หน่วยความจำโดยอัลกอริทึมที่กำหนดหรือในO ( n log n )เวลาและO ( log n )หน่วยความจำโดยการสุ่ม ดูhttp://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.2256
แนวคิดหลักคือความเท่าเทียมกันของการเปลี่ยนแปลงสามารถคำนวณได้โดยสูตรโดยที่cคือจำนวนรอบและnคือขนาด ผู้เขียนทำให้วงจรการสลายตัวของการเปลี่ยนแปลง ดังนั้นเราสามารถคำนวณจำนวนรอบได้อย่างง่ายดาย
ไม่มีใครรู้ว่าอัลกอริทึมที่มีประสิทธิภาพหรือขอบเขตที่ต่ำกว่าในหน่วยความจำสำหรับการคำนวณความเท่าเทียมกันในรูปแบบการสตรีมมิ่ง? อัลกอริธึมแบบสุ่มดีกว่าเหรียญสุ่มก็น่าสนใจเช่นกัน