Videos que explican los algoritmos de ordenamiento

Después de varios dias sin postear, hoy regreso 🙂 . Lo lamentable de la semana, es que mi notebook me dijo basta, y de un momento a otro no encendio mas. Probablemente problemas con la placa de video (imagino). En fin, espero poder recuperarla pronto, bueno, no me quiero ir por las ramas je. Dando vueltas por la web, encontre unos videos sumamente originales e interesantes, sobre los algoritmos de ordenamiento que valia la pena compartirlo con Uds.

 

¿Que es un algoritmo de ordenamiento?

En computación y matemáticas un algoritmo de ordenamiento recursivo es un algoritmo que pone elementos de una lista o unvector en una secuencia dada por una relación de orden, es decir, el resultado de salida ha de ser una permutación —o reordenamiento— de la entrada que satisfaga la relación de orden dada. Las relaciones de orden más usadas son el orden numérico y el orden lexicográfico. Ordenamientos eficientes son importantes para optimizar el uso de otros algoritmos (como los de búsqueday fusión) que requieren listas ordenadas para una ejecución rápida. También es útil para poner datos en forma canónica y para generar resultados legibles por humanos.

Si quieren info mas detallada puede visitar este link de Wikipedia.

Vamos a ver los distintos tipos de ordenamiento,  que se muestran en forma de danzas húngaras.

 

Ordenamiento de Burbuja

La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas “burbujas”. También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar.

 

Bubble-sort with Hungarian (“Csángó”) folk dance

Mas info aca.

 

 

Ordenamiento por inserción

El ordenamiento por inserción (insertion sort en inglés) es una manera muy natural de ordenar para un ser humano, y puede usarse fácilmente para ordenar un mazo de cartas numeradas en forma arbitraria. Requiere O(n²) operaciones para ordenar una lista de n elementos. Inicialmente se tiene un solo elemento, que obviamente es un conjunto ordenado. Después, cuando hay k elementos ordenados de menor a mayor, se toma el elemento k+1 y se compara con todos los elementos ya ordenados, deteniéndose cuando se encuentra un elemento menor (todos los elementos mayores han sido desplazados una posición a la derecha). En este punto se inserta el elemento k+1 debiendo desplazarse los demás elementos.

 

Insert-sort with Romanian folk dance

Mas info aca.

 

Ordenamiento Shell

El ordenamiento Shell (Shell sort en inglés) es un algoritmo de ordenamiento. El método se denomina Shell en honor de su inventor Donald Shell. Su implementación original, requiere O(n2) comparaciones e intercambios en el peor caso. Un cambio menor presentado en el libro de V. Pratt produce una implementación con un rendimiento de O(n log2 n) en el peor caso. Esto es mejor que las O(n2) comparaciones requeridas por algoritmos simples pero peor que el óptimo O(n log n). Aunque es fácil desarrollar un sentido intuitivo de cómo funciona este algoritmo, es muy difícil analizar su tiempo de ejecución.

El Shell sort es una generalización del ordenamiento por inserción, teniendo en cuenta dos observaciones:

  1. El ordenamiento por inserción es eficiente si la entrada está “casi ordenada”.
  2. El ordenamiento por inserción es ineficiente, en general, porque mueve los valores sólo una posición cada vez.

El algoritmo Shell sort mejora el ordenamiento por inserción comparando elementos separados por un espacio de varias posiciones. Esto permite que un elemento haga “pasos más grandes” hacia su posición esperada. Los pasos múltiples sobre los datos se hacen con tamaños de espacio cada vez más pequeños. El último paso del Shell sort es un simple ordenamiento por inserción, pero para entonces, ya está garantizado que los datos del vector están casi ordenados.

 

Shell-sort with Hungarian (Székely) folk dance

Mas info aca.

Me parecio sencillamente genial, original y divertida forma de representar los metodos de ordenamiento, espero que les haya gustado tanto como a mi. Si les gusto, compartan este post! Saludos.

 

Fuentes: Wikipedia,Taringa y Youtube.

Enhanced by Zemanta

Acerca de pablotuc

Tecnoadicto, molesto y perezoso. Ver todas las entradas de pablotuc

One response to “Videos que explican los algoritmos de ordenamiento

  • Bitacoras.com

    Información Bitacoras.com…

    Valora en Bitacoras.com: Después de varios dias sin postear, hoy regreso . Lo lamentable de la semana, es que mi notebook me dijo basta, y de un momento a otro no encendio mas. Probablemente problemas con la placa de video (imagino). En fin, espero ……

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: