Preguntas etiquetadas con algorithms

Un algoritmo es una secuencia de pasos bien definidos que define una solución abstracta a un problema. Use esta etiqueta cuando su problema esté relacionado con el diseño y el análisis de algoritmos.

122
¿Por qué puedo mirar un gráfico e inmediatamente encontrar el punto más cercano a otro punto, pero me lleva O (n) tiempo a través de la programación?

Déjame aclarar: Dada una gráfica de dispersión de un número dado de puntos n, si quiero encontrar mentalmente el punto más cercano a cualquier punto de la gráfica, puedo ignorar inmediatamente la mayoría de los puntos en el gráfico, reduciendo mis opciones a un número pequeño y constante de puntos...

105
Cómo engañar a la heurística de "probar algunos casos de prueba": Algoritmos que parecen correctos, pero en realidad son incorrectos

Para intentar probar si un algoritmo para algún problema es correcto, el punto de partida habitual es intentar ejecutar el algoritmo a mano en una serie de casos de prueba simples; pruébelo en algunos ejemplos de problemas, incluidos algunos "casos de esquina" simples ". Esta es una gran...

83
Particionamiento Quicksort: Hoare vs. Lomuto

Hay dos métodos de partición de clasificación rápida mencionados en Cormen: Hoare-Partition(A, p, r) x = A[p] i = p - 1 j = r + 1 while true repeat j = j - 1 until A[j] <= x repeat i = i + 1 until A[i] >= x if i < j swap( A[i], A[j] ) else return j y: Lomuto-Partition(A, p,...

52
¿Qué es la recursividad de la cola?

Conozco el concepto general de recursión. Encontré el concepto de recursión de la cola mientras estudiaba el algoritmo de clasificación rápida. En este video del algoritmo de clasificación rápida del MIT a las 18:30 segundos, el profesor dice que este es un algoritmo recursivo de cola. No me queda...