Logo de Torre de Babel
Portada Libros Diseño web Artículos Glosario RSS
Buscar

Implementación didáctica de algoritmos de ordenación

La ordenación de listas de datos es una necesidad habitual y, por ello, existen algoritmos para completar dicha tarea. La eficiencia de estos algoritmos es muy dispar, así como el enfoque que cada uno emplea para conseguir el objetivo: obtener la lista ordenada.

Hace unos años desarrollé una implementación didáctica de algunos de los algoritmos de ordenación más conocidos, con un mecanismo de visualización simple pero efectivo, que permite ver el estado inicial de un vector de datos, cómo se van seleccionando parejas de elementos, comparando e intercambiando cuando es necesario. La aplicación está escrita en C, sin orientación a objetos, pero fue diseñada de tal forma que resulta muy simple extenderla, agregando nuevos algortimos de ordenación que se agregarían automáticamente a la interfaz de usuario.

En cuanto a la interfaz de usuario, está escrita utilizando la biblioteca ncurses. Esto permite compilar y ejecutar la aplicación en cualquier sistema para el que esté disponible un compilador de C y la mencionada biblioteca, incluyendo GNU/Linux, Windows y OS X, tal y como puede apreciarse en las capturas siguientes.

La aplicación funcionando en GNU/Linux
Figura 1. La aplicación funcionando en GNU/Linux.
La aplicación funcionando en Windows
Figura 2. La aplicación funcionando en Windows.
La aplicación funcionando en OS X
Figura 3. La aplicación funcionando enOS X.

Tanto el código fuente de la aplicación como las instrucciones para su compilación y uso se encuentran en un repositorio GitHub, desde el que puede descargarse libremente.


Publicado el 13/1/2015

Entradas anteriores


Curso de shaders

Torre de Babel - Francisco Charte Ojeda - Desde 1997 en la Web