¿Cuál es el problema si clasificamos los intervalos según su tiempo de finalización como el problema de programación de intervalos? ¿Por qué es necesario ordenar según la hora de inicio en el problema de partición de intervalos?

No es realmente necesario ordenar de acuerdo con el tiempo de inicio, ya que el problema es simétrico en la dirección del tiempo. Si invertimos el tiempo, el algoritmo de partición de intervalos debe ordenar el tiempo de finalización y trabajar desde el último tiempo de finalización hasta el primero. Eso también funcionaría.

Pero creo que lo que quieres decir es, ¿por qué no podemos ordenar el tiempo de finalización y luego procesar los intervalos del primero al último, como en la programación de intervalos? Y creo que la razón es que, para la partición de intervalos, necesita realizar un seguimiento de los procesos que se están ejecutando actualmente, de lo contrario, no sabe qué recursos están libres. Por lo tanto, debe saber cuándo comienzan a dar cuenta de eso.

Pero para la programación de intervalos, en realidad no necesita saber qué procesos se están ejecutando actualmente. Cuando finaliza un proceso, puede verificar fácilmente si el recurso habría estado disponible o no, y si lo fuera, entonces claramente debería haber procesado ese intervalo, para que podamos contarlo.

Al final, no puedo dar una razón mucho más fundamental que: es porque son dos problemas diferentes que requieren dos algoritmos diferentes.

Por lo que he leído al respecto, encontramos el tiempo de finalización más temprano para el algoritmo de programación de intervalos, que sigue el algoritmo codicioso. Y clasificarlos según el tiempo de acabado será la solución óptima.

More Interesting

¿Cuáles son los 5 mejores algoritmos con los que debería estar familiarizado para tener éxito en una entrevista de desarrollador junior?

¿Dónde debería comenzar si quiero implementar un algoritmo de detección de movimiento en FPGA?

Si creció en una familia alcohólica, ¿cuál fue su historia y los desafíos que enfrenta personal y profesionalmente debido a la educación?

¿Cuándo se debe comenzar a resolver los problemas del Proyecto Euler en HackerRank? He resuelto alrededor de 50 en SPOJ, entonces, ¿es el momento adecuado para comenzar?

¿Cuál ha sido el desarrollo reciente en algoritmos de búsqueda en tiempo real?

¿Cuál es el secreto de escribir buenos algoritmos?

¿Cuáles son los algoritmos más eficientes que resuelven de manera óptima un cubo de Rubik?

¿Cuál es la forma correcta de leer CLRS (Introducción a los algoritmos)?

¿Qué tan valioso sería ser ubicado para aprender la estructura de datos usando C?

Cómo comenzar a aprender algoritmos y estructuras de datos desde cero

Solicitar respuestas (función Quora): ¿El algoritmo de crédito es proporcional?

¿Cómo es posible que el hashing sea imposible de revertir? ¿Hay alguna prueba?

Si estoy usando Java para la codificación competitiva, ¿tendré problemas de tiempo más tarde por parte de jueces en línea cuando me sumerja en estructuras de datos y algoritmos?

¿Se requiere un buen conocimiento de la estructura de datos y algoritmos para saltar a la codificación competitiva?

¿Qué algoritmos pueden detectar si dos imágenes / objetos son similares o no?