Tengo un conjunto de números no únicos y me gustaría dividir esos números en particiones K
de manera que la suma de números en cada partición sea casi igual. Supongamos que tengo el siguiente conjunto.El problema de partición
{1, 2, 3, 4, 5, 6, 7, 8, 9}
Usando Linear partition algorithm consigo siguientes particiones cuando K = 3
{ 1 2 3 4 5 }
{ 6 7 }
{ 8 9 }
que se espera, pero ya que este es el algoritmo de partición lineal, cualquier cambio en el orden del conjunto de entrada cambiará de las particiones también, que Quiero evitar
Se debe minimizar la suma de elementos para cada partición. En el ejemplo anterior La suma de cada partición es 15
, 13
, 17
para la siguiente entrada no funciona.
{10, 20, 90, 100, 200}
lineal algoritmo de partición da siguiéndome
{ 10 20 90 100 }
{ 200 }
Pero la respuesta correcta debería ser
{ 10, 200 } { 20, 90, 100 }
¿Desea dividirlos independientemente del orden en el "conjunto"? – svick
paso uno: reordene el conjunto, paso dos: realice la partición de trabajo – Randy
@svick, sí, en otras palabras, que siempre me dará el mismo conjunto de particiones cuando la entrada sea igual y el número de particiones sea el mismo, independientemente de cómo los números de entrada son arreglos. – Avinash