Имя: Пароль:
IT
 
Пересекающиеся окружности
0 Ненавижу 1С
 
гуру
10.08.12
10:22
Есть массив структур с тремя полями X,Y - координаты центра, R - радиус окружности
Требуется найти пару пересекающихся окружностей в массиве (любую) или убедиться, что их нет

Есть возможность поиска быстрее чем O(n^2)?
1 Ненавижу 1С
 
гуру
10.08.12
10:50
Up
2 sash-ml
 
10.08.12
11:01
(n(n+1))/2 не?
3 Ненавижу 1С
 
гуру
10.08.12
11:14
(2) ну это O(n^2)
4 zva
 
10.08.12
12:35
Думаю, есть...
Сначала упорядочиваем окружности по коордтнате х за О(N*ln(N))
Потом алгоритм сканирующей линии (вертикальной), аналогичный для поиска пересечения отрезков. Он тоже, вроде, за О(N*ln(N)) должен работать
5 SUA
 
10.08.12
13:53
(4)концентрические разных радиусов как отработает?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс