Dinámicos planos vecinos k-cercanos más exactos para datos patológicos

8

¿Cuáles son los resultados más conocidos para una estructura de datos que ofrece las siguientes operaciones en conjuntos de puntos en el espacio euclidiano bidimensional:

  • insert(x)
  • delete(x)
  • (donde k es un número entero mayor que 0) devuelve los k puntos más cercanos a x que están en el conjunto.nearest(k,x)kkx

En este caso particular, no estoy particularmente interesado en el vecino más cercano, los algoritmos de Monte Carlo o los algoritmos que suponen que los datos están bien formados de alguna manera.

No tengo prejuicios contra los algoritmos de Las Vegas, los algoritmos que suponen que las coordenadas del punto tienen bits , o los algoritmos con tiempo de ejecución dependiendo de k .O(lgn)k

jbapple
fuente
Supongo que es parte de la entrada de la consulta y no es una constante fija. k
Suresh Venkat
Asumes correctamente.
jbapple
de eso tenía miedo. El problema es que dado que k puede ser tanto como n / 2, realmente está preguntando acerca de los niveles medios de una disposición de funciones y estos pueden cambiar mucho en la inserción y eliminación.
Suresh Venkat
¿Ayuda si k es parte de la entrada de la consulta y un parámetro del tiempo de ejecución? (Creo que esto se llama "sensible a la salida")
jbapple
f(n)+k

Respuestas:

7

O()k=1O(k)k

David Eppstein
fuente