6 votos

Encontrar la línea más vertical en un conjunto de puntos en $O(n \log n)$ tiempo

Entrada: un conjunto de $n$ puntos en posición general en $\mathbb{R}^2$ .

Salida: el par de puntos cuya pendiente tiene la mayor magnitud.

Limitación de tiempo: $O(n \log n)$ o mejor.

Por favor, no me estropees la respuesta, sólo estoy atascado y busco un empujón en la dirección correcta. Gracias.

1voto

dtldarek Puntos 23441

Una pista:

Considere los puntos $A$ , $B$ , $C$ tal que $A_x < B_x < C_x$ entonces la pendiente de $AC$ es menor o igual que el máximo de las magnitudes de las pendientes de $AB$ y $BC$ .

Buena suerte.

0voto

Max Puntos 16

Una pista:

Prueba la recursión. Divide los puntos en dos mitades, encuentra las pendientes de cada mitad y luego sólo tienes que calcular la pendiente máxima definida por dos conjuntos de puntos separados.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X