Ordenando Arrays
Hace no mucho nos encontramos con la tarea de ordenar una lista de clasificación de Quiniela15 con ciertos criteros. En principio parece una tarea simple, hay muchos algoritmos que lo hacen y elegimos el más sencillo, el llamado “Burbuja” o “Bubble Sort”, que toma elemento por elemento y calcula si debe o no cambiarlo de posición, casi lo que harías si tuvieses que hacerlo manualmente. Es la forma más lógica y simple, pero nos salían n² operaciones para determinar el orden del array, siendo n el número de elementos y, en una clasificación de 1600 usuarios, las operaciones se elevaban a 2,560.000, así a lo tonto… y muchas de esas operaciones llevaban asociada una consulta a base de datos para recuperar valores. No es que el sistema no pudiese con ello, pero está claro que es uno de esos momentos en los que merece la pena dedicarle tiempo a optimizar.
Entre algunos de los algoritmos conocidos más populares, finalmente ha funcionado bien el llamado “Quick Sort”, acabando el proceso en pocos segundos. Además está esta página donde está implementado para múltiples lenguajes de programación (PHP, Ruby, C, Python, Visual Basic… y muchos otros de los que ni siquiera conocía su existencia). Si alguna vez te has encontrado este problema, la solución no puede ser más sencilla.