Red de conocimientos turísticos - Información de alquiler - Programación de procesamiento y producción (programación informática C++)

Programación de procesamiento y producción (programación informática C++)

El método es clasificación topológica

Si el tiempo que lleva procesar dos tareas A y B en orden AB es menor que el tiempo que lleva procesarlas en orden BA, entonces se puede decir que A

Se puede demostrar que si A

Por supuesto, esto también se puede demostrar matemáticamente, pero será más tedioso. Pero si A=B, B=C, no hay garantía de que A=C

Por lo tanto, para cualquier A

Finalmente, cualquiera de las secuencias topológicas resueltas es la solución óptima

(Nota: si se usa la clasificación directamente, porque la clasificación es irreversible)

(Nota: si usa la clasificación directamente, porque la clasificación es irreversible)

: si usa la clasificación directamente, porque A<=B, B<=C implica A<=C, entonces es solo una solución codiciosa y existe una cierta probabilidad de que no sea la solución óptima)

Por supuesto, la clasificación topológica sigue siendo un algoritmo bastante general que puede resolver muchos problemas similares. También existen algoritmos codiciosos para este problema en particular, pero las estrategias codiciosas son más difíciles de idear y más difíciles de demostrar que son correctas. Primero, ordene min{x1, x2} de pequeño a grande, luego, si x1 es más pequeño, se ordena primero, si x2 es más pequeño, se ordena más tarde.