Supongamos que tengo una lista de cosas (números, para mantener las cosas simples aquí) y tengo una función que quiero usar para ordenarlas, usando SortBy. Por ejemplo, el siguiente ordena una lista de números por último dígito:Clasificación estable, es decir, clasificación mínimamente disruptiva
SortBy[{301, 201}, Mod[#,10]&]
Y cuenta cómo dos de (es decir, todos) esos números tienen el mismo último dígito. Por lo tanto, no importa en qué orden los devolvamos. En este caso, Mathematica los devuelve en el orden opuesto. ¿Cómo puedo asegurarme de que todos los vínculos se rompen a favor de cómo se ordenaron los artículos en la lista original?
(Sé que es un tanto trivial, pero siento que esto sucede de vez en cuando, así que pensé que sería útil hacerlo en StackOverflow. Publicaré lo que sea que se me ocurra como respuesta si nadie me pega a él)
Los intentos de hacer esto más búsquedas:. género con una perturbación mínima, género con menor número de intercambios, de encargo de desempate, la clasificación con intercambio costosa, estable de clasificación.
PD: Gracias a Nicholas para señalar que esto se llama clasificación estable. ¡Estaba en la punta de mi lengua! Aquí hay otro enlace: http://planetmath.org/encyclopedia/StableSortingAlgorithm.html
¿No es lo que se busca aquí, por lo general, simplemente se llama un algoritmo de clasificación estable? Ver: http://en.wikipedia.org/wiki/Sorting_algorithm#Stability –