มีอัลกอริทึม O (n log n) สำหรับการทำให้เป็นเส้น 4D ง่ายขึ้นหรือไม่?


19

อัลกอริทึม Ramer-Douglas-Peuckerสำหรับสายเรียบง่ายมีกรณีที่แย่ที่สุดรันไทม์ สำหรับอินพุตสุ่มแบบกระจายที่เหมาะสมจะมีความซับซ้อนรันไทม์ใน 2D มีอัลกอริธึมอื่นที่มีความซับซ้อนของ runtime caseแย่ที่สุดซึ่งคำนวณผลลัพธ์แบบเดียวกับอัลกอริทึม Ramer-Douglas-Peucker เนื่องจากอัลกอริธึมเหล่านี้มีพื้นฐานมาจากโครงสร้างข้อมูล "path (convex) hull" จึงไม่ชัดเจนว่าจะสามารถใช้กับบรรทัด 4D ได้หรือไม่O(n2)O(nlogn)O(nlogn)

มีอัลกอริทึม (สุ่ม) ซึ่งมี (คาดว่า)รันไทม์ (เป็นอิสระจากอินพุต) สำหรับกรณีของเส้น 4D หรือไม่? คุณอาจถือว่าระยะทางแบบยุคลิดและความอดทนแบบสัมบูรณ์ทั่วโลกO(nlogn)

คำตอบ:


0

อัลกอริทึมที่ทำงานร่วมกับกรณี 4D ได้อธิบายไว้ในบทความใกล้เชิงเส้นเวลาประมาณอัลกอริทึมสำหรับ Curve เข้าใจง่ายโดยสี่ผู้เขียน: Pankaj เค Agarwal, Sariel Har-Peled, นาบิลเอชมุสตาฟาและ Yusu วัง

ให้เป็นรูปหลายเหลี่ยมโค้งใน และพารามิเตอร์ , -splplification ของ มีขนาดมากที่สุด สามารถสร้างได้ในเวลาและพื้นที่PRdϵ0ϵPκF(ϵ/2,P)O(nlogn)O(n)

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

Sidenote:
มีการดัดแปลงอัลกอริธึม Douglas-Peucker ที่มีตัวพิมพ์ที่แย่ที่สุดในอธิบายไว้ในบทความการใช้ O (n log n) การใช้งาน Douglas-Peucker Algorithm สำหรับการทำให้เป็น Line Line โดยJohn Hershberger และ Jack Snoeyink : การปรับปรุงบรรทัด DP ให้ง่ายขึ้น แน่นอนมันใช้เส้นทางเรือO(nlogn)

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