Estoy tomando comp 2210 (Estructuras de datos) el próximo semestre y he estado haciendo la tarea para el semestre de verano que se publica en línea. Hasta ahora, no he tenido problemas para hacer las asignaciones. Eche un vistazo a la asignación 4 a continuación y vea si puede darme una pista sobre cómo abordarla. Por favor, no proporcione un algoritmo completo, solo un enfoque. ¡Gracias!Clasificar matriz en orden ascendente mientras se minimiza el "costo"
Un "tipo calculado" es un algoritmo en el cual una secuencia de valores debe organizarse en orden ascendente. El tipo es llevado a cabo intercambiando la posición de dos valores uno por uno hasta que la secuencia esté en el orden correcto. Cada intercambio incurre en un costo, que se calcula como la suma de los dos valores involucrados en el intercambio. El costo total de del género es la suma del costo de los intercambios.
Por ejemplo, supongamos que la secuencia de inicio fuera {3, 2, 1}. Una posible serie de intercambios es
Interchange 1: {3, 1, 2} interchange cost = 0
Interchange 2: {1, 3, 2} interchange cost = 4
Interchange 3: {1, 2, 3} interchange cost = 5,
given a total cost of 9
Usted debe escribir un programa que determina el costo mínimo para organizar una secuencia específica de números.
Editar: El profesor no permite la fuerza bruta.
¿solo puede intercambiar valores adyacentes? – Bubblewrap
No, cualquier elemento puede intercambiarse. – dacman
Es claramente un problema académico: en la vida real, son las comparaciones las que cuestan mucho, no los intercambios. En general, es probable que un algoritmo que minimice el número de movimientos de cualquier tipo lo haga mejor –