BLog personal de Juampe sobre su estado mental y su vision del mundo.

martes, agosto 06, 2013

SORTING


Hace algunos (muchos) años, allá por Enero de 1985, escribí en Pascal una implementación del algoritmo de ordenación de números enteros Heap. Mi jefe (de entonces) me dijo que era de los más eficaces, para lo que quería que hiciese (ordenar referencias de piezas de un almacén de componentes electrónicos). 

Este era mi aspecto:


No falta ningún tópico de programador de los años 80: IBM-PC con monitor de fósforo verde, calendario de impresora matricial en la pared, teléfono Heraldo en la mesa, caja de floppies 5"1/4 3M, vaso de café y cenicero. Qué tiempos, mi primer trabajo...

Me llevó un par de semanas hacerlo: ni yo era diestro en Pascal, ni había tenido asignaturas de programación/algoritmos durante la carrera (física teórica) que había terminado 4 meses atrás, y estaba sumergido en la mitad de los cálculos de la primera parte de mi tésis, y sólo vivía para el Fortran (IV y 66, para más señas).

Hoy, alguien de mi trabajo (actual) me ha enviado un enlace con unas visualizaciones de los diferentes algoritmos de ordenación, y he recordado viejos tiempos, sorprendido por la variedad de algoritmos y sus variantes.

El video completo con las visualizaciones (y "audiciones", que es casi más divertido) en YouTube está aqui: 



 Como dicen en los comentarios, el que aparece en el minuto 4:54 (el algoritmo Bitonic)  es realmente RARO. Y el más rápido no es ni Heap, ni QuickSort (el que parece que está implementado en Microsoft Excel), sino Radix.

También hay  una  colección de videos de cada algoritmo por separado, para poder estudiarlos en detalle. 

------
Adicionalmente, he encontrado esta joya. Y como he estado en Budapest hace algunas semanas, me han entrado ganas de ponerlo:





Etiquetas: