En Chazelle, B .; Lee, el artículo de DT Computing 36, 1-16 (1986), teorema 3 en la página 15, afirma que el algoritmo de búsqueda de círculo de cierre máximo requiere un costo de tiempo .O(n2)
Creo que la clave sigue siendo el algoritmo de construcción del gráfico de intersección que menciona antes (o vea Edelsbrunner, H. (1987), Algorithms in Combinatorial Geometry, capítulo 7). Posteriormente, el hallazgo máximo del círculo de cierre debe ser sencillo.O(n2)
Aparentemente, este problema es equivalente a encontrar el punto cubierto por el número máximo de círculos dados y es fácil saber que aquellos que en su mayoría puntos intersectados por n círculos deben considerarse candidatos. (Esto también lleva a un algoritmo directamente) O ( n 2 l o g ( n ) )2n2O(n2log(n))
Sin embargo, al utilizar el algoritmo de construcción mencionado anteriormente , también conduce un algoritmo para este problema. Porque el gráfico de intersección construido con vértices como puntos de intersección y aristas como arcos es un gráfico plano de Euler. Entonces uno puede recorrer todos los arcos a través de un ciclo de Euler y un orden de arcos indexados por los índices de círculos a los que pertenece e información de si algún arco es un "arco que se aleja" (curvado hacia atrás) o "que entra en el arco" ( curvado hacia adelante) para el vértice encontrado durante el recorrido en el que este arco incide se registrará.O ( n 2 )O(n2)O(n2)
Según el teorema de Jordan, un vértice de intersección está encerrado por un círculo solo si se encuentra primero con un "arco de separación" que pertenece a ese círculo o si tiene un arco incidente que pertenece a ese círculo. Entonces, después de todo el viaje, se puede encontrar fácilmente el círculo de cierre máximo. Es similar al caso de decidir los tiempos de cobertura para puntos con intervalos ordenados a lo largo de una línea recta (o es decir, la versión 1D de este problema de cierre), excepto que el viaje ya ha dado la orden. Mientras que según el formulario de Euler para un gráfico plano, el número total de arcos es lineal con el número de vértices, y dado que no es necesario registrar nuevamente la información relacionada cuando se viaja de regreso a los vértices ya visitados, por apretón de manos lema, el costo total del tiempo será .O ( n 2 )V+E−F=2O(n2)