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


19

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

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

Відповіді:


0

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

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

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


O(nlogn)

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