คำถามติดแท็ก streaming-algorithms

1
การคำนวณความเท่าเทียมกันของการเรียงสับเปลี่ยนแบบสตรีมมิ่ง
ฉันกำลังมองหาอัลกอริทึมแบบ one-pass ซึ่งคำนวณพาริตี้ของการเปลี่ยนแปลง ฉันคิดว่าการเปลี่ยนแปลงการป้อนข้อมูลจะได้รับจากกระแส ] ผลลัพธ์ควรเป็นความเท่าเทียมกันของการเปลี่ยนแปลง คำถามที่ฉันสนใจว่าควรใช้อัลกอริธึมกำหนดค่าความจำเท่าใด มีอัลกอริทึมแบบสุ่มสำหรับปัญหาหรือไม่π[1],π[2],⋯,π[n]π[1],π[2],⋯,π[n]\pi[1], \pi[2], \cdots, \pi[n] ฉันรู้ว่าการคำนวณจำนวนผู้รุกรานในหนึ่งรอบใช้หน่วยความจำขอบเขตบนสามารถหาได้ง่ายด้วย BST ใด ๆ ขอบเขตล่างถูกแสดงไว้ที่นี่: http://citeseerx.ist.psu.edu/viewdoc/versions?doi=10.1.1.1.112.5622Θ(n)Θ(n)\Theta(n) อนิจจาหลักฐานของขอบเขตล่างในกระดาษไม่สามารถขยายไปยังกรณีพาริตี้ (หรือไม่ชัดเจนดังนั้นสำหรับฉัน) นอกจากนี้ฉันรู้ว่าการคำนวณความเท่าเทียมกันในพื้นที่เล็ก ๆ ด้วยการเข้าถึงการเปลี่ยนแปลงแบบสุ่มสามารถทำได้ในเวลาและO ( log 2 n )หน่วยความจำโดยอัลกอริทึมที่กำหนดหรือในO ( n log n )เวลาและO ( log n )หน่วยความจำโดยการสุ่ม ดูhttp://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.2256O(nlogn)O(nlog⁡n)O(n \log n)O(log2n)O(log2⁡n)O(\log^2 n)O(nlogn)O(nlog⁡n)O(n \log n)O(logn)O(log⁡n)O(\log n) แนวคิดหลักคือความเท่าเทียมกันของการเปลี่ยนแปลงสามารถคำนวณได้โดยสูตรโดยที่cคือจำนวนรอบและnคือขนาด ผู้เขียนทำให้วงจรการสลายตัวของการเปลี่ยนแปลง ดังนั้นเราสามารถคำนวณจำนวนรอบได้อย่างง่ายดายsgn(π)=(−1)n−csgn(π)=(−1)n−csgn(\pi) = (-1)^{n - c}cccnnn …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.