lunes, 17 de mayo de 2010

Puntos Extra "Quick Sort"



Definición:


El sistema de ordenamiento rápido Quick Sort es un algoritmo que no solo nos sirve para organizar una lista de datos desorganizados, si no también, para optimizar el tiempo que se ocupa en realizar esta labor, ya que permite ordenar "n" elementos en un tiempo proporcional de O(n log n), lo cual es muy eficiente.


Algoritmo:


La función de este sistema de ordenamiento en una lista de datos desorganizada escoger un pivote, el cual puede ser elegido al azar, pero yo creo mas conveniente, escoger uno que este en medio, después se mandan todos los elementos con valor menor que el pivote al lado izquierdo y a todos los mayores del lado derecho:



elemento < pivote =" Izquierda

elemento > pivote = Derecha



Después empieza a ordenar del lado izquierdo a todos los elementos menores que el pivote de manera recursiva hasta que queden ordenados y lo mismo del lado derecho, hasta el punto en que ambos lados quedan e orden, y por consecuencia toda la lista.



Ejemplo: (Dar clic a la palabra ejemplo para verlo)



  • Es una lista desordenada la cual esta representadas por barras de diferentes tamaños.
  • El algoritmo primeramente escoje un pivote.
  • Después al resto de los elementos los evalúa, así que los que sean menores que el pivote los manda del lado izquierdo y a los mayores del lado derecho.
  • Hace de cada lado lo mismo recursivamnte hasta tenerlos en orden.
  • Y al final como cada lado del pivote esta ordenado entonces nos quedaría una lista en orden.

Para que me sirve???

Bueno a mi en lo personal, este algoritmo es muy útil, ya que me permite organizar datos de manera que puedo enlistar ordenadamente una lista de prioridades a hacer, lo cual me ahorra tiempo y esfuerzo, pero para mi carrera creo que es un algoritmo que me sera muy útil, ya que hay múltiples aplicaciones para este, como hacer programas que me organizen ciertos datos, por que depende de esos datos ordenados para obtener un resultado y si este resultado lo puedo obtener en un mejor tiempo pues me seria muy útil usarlo, un ejemplo seria, que al ingresar ciertos datos (en desorden) tenga que sacar la mediana (Estadística), entonces aquí vendría a aplicar muy bien este algoritmo.


Aplicacion a mi vida diaria:


Yo actualmente trabajo en unas cintas de música, Audio Scream, y aunque no lo creean este algoritmo "Quick Sort" es aplicable ahí, ya el equipo de aparatos con el que contamos difiere unos de otros en peso y tamaño, y los trasladamos por medio de un camión, contamos con aparatos suficientes para atender a 3 eventos al mismo tiempo:


Equipo:

*La lista del equipo esta ordenada con forme a su peso y tamaño*




Entonces, aveces es necesario bajar del camión solo los bajos ó nada mas una estructura o nada mas cable, etc. de manera que si metemos todo al camión desorganizadamente, aparte que no cabria bien, al momento de sacar algo en especifico, nos llevaría mas tiempo primero buscar donde esta y después mover todo lo que hay antes para poder sacarlo; con el algoritmo Quick Sort nos evitariamos todos esos contratiempos, de manera que antes de subir el equipo al camión, podríamos acomodarlo conforme su peso y tamaño, entre más pesado y grande más al fondo y entre entre más ligero y pequeño al frente. De esta manera sabemos que si queremos sacar un Bajo Cerwin-Vega sabríamos que esta al fondo ó si queremos sacar un rac de luces, este estará en medio, y así sabríamos que mover o bajar para poder llegar al objetivo.

Video





Explicacion:

El video muestra la comparacion del metodo Quick Sort vs. Bubble Sort (Ordenamiento Burbuja) que ambos son algoritmios de ordenamiento, pero claramente se muestra que el Quick Sort es mas eficiente, es decir, es más rapido y funcional, ya que el algoritmo Quick Sort hace la misma tarea en menos pasos, por lo que termina antes. En conclucion el Quick Sort es de los algoritmos mas optimos de ordenaminento.

1 comentario: