viernes, 26 de junio de 2015

Métodos de Ordenamiento - Selección [Java]

Método de Selección (Selection Sort).

Consiste en encontrar el menor de todos los elementos del arreglo o vector e intercambiarlo con el que está en la primera posición. Luego el segundo mas pequeño, y así sucesivamente hasta ordenarlo todo.

Con el siguiente ejemplo quedará mas claro la forma en la que funciona el algoritmo por Selección.

Ejemplo:

  • Se recorre el arreglo, se selecciona el elemento menor y se intercambia este elemento con el de la primera posición.

  • En la siguiente pasada se hace lo mismo, pero ahora se busca desde la segunda posición hasta el final el menor. Se intercambia éste menor con lo que está en la segunda posición.

  • Se repite para las siguientes posiciones, hasta la posición (n-1).


A continuación les dejaré los links de descarga de los códigos en Java tanto en consola como en modo gráfico.


Código (Consola): http://adf.ly/1JrjHr

Código (Gráfico): http://adf.ly/1JrjLw



lunes, 22 de junio de 2015

Métodos de Ordenamiento - Burbuja [Java]

Métodos de Ordenamiento [Java].

Los algoritmos de ordenamiento nos permiten, como su nombre lo dice, ordenar. En este caso, nos servirán para ordenar vectores o matrices con valores asignados aleatoriamente. Nos centraremos en los métodos más populares, analizando la cantidad de comparaciones que suceden, y revisando el código escrito en Java de cada algoritmo.

Método de la burbuja (Bubble Sort).

También es conocido como el método del intercambio directo.
Toma pares de posiciones dentro del arreglo y los compara, teniendo así un arreglo A[a0, a1, a2, a3…an]; el algoritmo se realizaría de la siguiente manera:

Toma a1, a2; los compara y si cumple la condición a1 > a2 se realiza el cambio, caso contrario no se realiza ninguna acción.

Para visualizarlo de forma más clara la tenemos en los siguientes ejemplos: 

Ejemplo #1:



Ejemplo #2:

Pasada 0:


Pasada 1:





Pasada 2:




Para calcular las pasadas necesarias que se realizara en el arreglo para que quede ordenado se calcula n-1; donde n es la dimensión del arreglo, en el caso del segundo ejemplo se realizaron 3 Pasadas.
Cabe recalcar que este método es uno de los más sencillos y por lo tanto no es uno de los más eficientes en cuanto a tiempos de ejecución, ya que si se deseara ordenar un gran número de elementos se tardaría mucho en la ejecución.

A continuación les dejaré los links de descarga de los códigos en Java tanto en consola como en modo gráfico.

Código (Consola): http://adf.ly/1Je2np
Código (Gráfico): http://adf.ly/1Je34z