Primero respondamos una pregunta más simple que está algo relacionada: dado un histograma de N rectángulos de varias alturas, calcule el área rectangular máxima en el histograma. Esto se puede hacer en tiempo lineal: consulte la respuesta del usuario de Quora a ¿Cuál es el enfoque algorítmico para encontrar el área rectangular máxima en un histograma? para una explicación
Con este algoritmo, podemos resolver este problema en tiempo [matemático] O (NM) [/ matemático]. Comience en la fila inferior y calcule las alturas del histograma, luego ejecute el algoritmo anterior. Ahora, elimine la fila inferior y actualice las alturas del histograma en consecuencia (disminuirá todas las alturas positivas en una o intentará cambiar una altura de cero a positiva, lo que requiere trabajo lineal amortizado), y repita. Elimine de forma iterativa las filas y actualice las alturas hasta que haya borrado toda la matriz.
- ¿Qué algoritmo usa Google Knowledge Graph? ¿Con qué precisión funciona?
- ¿Cuál es la mejor prueba de primalidad que garantiza un resultado 100% exacto pero que se puede hacer en un tiempo polinómico?
- ¿Cuáles son algunos proyectos que podrían realizarse utilizando estructuras de datos?
- ¿Cuál es la explicación teórica más fácil posible sobre el algoritmo de clasificación de burbujas y el programa que usa C, ya que soy un viejo estudiante de 50 años completamente nuevo en programación?
- ¿Debo hacer investigación de pregrado en estructuras de datos teóricos y algoritmos, incluso si todavía no estoy seguro de si estoy persiguiendo la industria o la academia?