Чи існує алгоритм O (n log n) для спрощення 4D рядків?


19

Алгоритм Ramer-Douglas-Peucker для спрощення ліній має найгірший варіант виконання O(n2) . Для належно розподілених випадкових входів очікується складність виконання ( O(nlog⁡n) . У 2D існують інші алгоритми з найгіршим випадком складності виконання O(nlog⁡n) , які обчислюють точно такий же результат, як алгоритм Рамера-Дугласа-Пюкера. Оскільки ці алгоритми ґрунтуються на структурі даних "конвексу (опуклий) корпус", не очевидно, чи можна їх узагальнити до 4D-рядків.

Чи існує (рандомізований) алгоритм, який має (очікуваний) O(nlog⁡n) час виконання (незалежно від введення) для випадку 4D рядків? Ви можете припустити евклідові відстані та глобальну абсолютну толерантність.

Відповіді:


0

Алгоритм, який працює у випадку 4D, описаний у статті Алгоритми ближнього лінійного наближення часу для спрощення кривої чотирма авторами: Панкакай К. Агарвал, Саріель Хар-Пелед, Набіль Х. Мустафа та Юсу Ван .

Враховуючи полігональну криву в R d та параметр ϵ ≥ 0 , ϵ- спрощення P з розміром не більше κ F ( ϵ / 2 , P ) може бути побудовано за час O ( n log n ) та O ( n ) простір.PRdϵ≥0ϵPκF(ϵ/2,P)O(nlog⁡n)O(n)

Алгоритм не залежить від властивостей монотонності. Він охоплює оригінальну лінію дисками і шукає обхід рядків на замовленому наборі.


O(nlog⁡n)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.