¿Cuáles son algunos algoritmos del mundo real que corresponden al ‘caso 3’ del método maestro?

Aquí hay un ejemplo no completamente trivial en el que puedo pensar: cualquier algoritmo determinista A que pueda encontrar la mediana de una matriz en O (n) puede usarse para encontrar el k-ésimo elemento más grande, para cualquier k, en O (n ): simplemente ejecute QuickSelect y use A para encontrar el pivote en cada paso. La prueba de que este nuevo algoritmo se ejecuta en O (n) utiliza el caso 3 del teorema maestro.

Dicho esto, hay una buena razón por la que no ves muchos de estos algoritmos en la práctica. El caso 3 del teorema maestro es el caso en el que casi todo el trabajo se realiza en el caso base, fuera de todas las llamadas recursivas. Y como el tiempo de ejecución de la parte recursiva es pequeño, generalmente hay una solución no recursiva que es más simple y tiene la misma complejidad de tiempo asintótica. (Intuitivamente, la segunda solución solo hace todo el trabajo en el caso base, en lugar de hacer casi todo el trabajo).

More Interesting

Cómo resolver un problema usando C ++

¿Cómo "mira hacia adelante" un algoritmo de aprendizaje por refuerzo para saber qué acción tomar en este momento?

Cómo implementar un algoritmo técnico en papel desde cero en C ++ o MATLAB

¿Qué significa front = rear = null y front = rear = -1 en la cola de las estructuras de datos en C ++?

¿Cuál es su proceso de pensamiento cuando selecciona y define nuevas variables cuando escribe código?

¿Qué algoritmo de ML debo usar para una aplicación de selección de automóviles basada en Tinder?

¿Cómo puede el comercio algorítmico o de patrones generar ganancias cuando la teoría de eficiencia del mercado (de forma débil) argumenta que la información de precios pasada es irrelevante?

¿Cuál es la diferencia entre el árbol de búsqueda binario y la búsqueda binaria?

¿Encontrar la complejidad temporal de los algoritmos está relacionado con las matemáticas discretas?

¿Cuál es el algoritmo más conocido para unir varias tablas (> 5) que contienen uniones externas (en una base de datos no Oracle) implementadas a través de un lenguaje programático?

¿Qué algoritmos de máquina requieren escala / normalización de datos?

¿Puede la búsqueda de profundización iterativa encontrar una solución más rápida que A * en algunos casos?

¿Cuál es la forma más fácil de demostrar que si la intersección de 2 rutas es un gráfico conectado, entonces la unión de las 2 rutas tiene al menos un circuito?

Cómo resolver el problema ADDGP en SPOJ

¿Es el algoritmo de búsqueda de Google realmente el mejor?