Escritua

Páginas: 5 (1048 palabras) Publicado: 8 de agosto de 2011
1 - INTRODUCCION
Los algoritmos de ordenamiento nos permite, como su nombre lo dice, ordenar. En
este caso, nos serviran 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, el tiempo que demora y revisando el código,
escrito en Java, de cada algoritmo.
Este informe nospermitirá conocer mas a fondo cada metodo distinto de
ordenamiento, desde uno simple hasta el mas complejo. Se realizaran comparaciones
en tiempo de ejecucion, pre-requisitos de cada algoritmo, funcionalidad, alcance, etc.
2 – TIPOS DE ALROGITMOS
Para poder ordenar una cantidad determinada de numeros almacenadas en un vector o
matriz, existen distintos metodos (algoritmos) con distintascaracteristicas y
complejidad.
Existe desde el metodo mas simple, como el Bubblesort (o Método Burbúja), que son
simples iteraciones, hasta el Quicksort (Método Rápido), que al estar optimizado
usando recursion, su tiempo de ejecucion es menor y es más efectivo.
2.1 – METODOS ITERATIVOS
Estos metodos son simples de entender y de programar ya que son iterativos, simples
ciclos y sentencias que hacenque el vector pueda ser ordenado.
Dentro de los Algoritmos iterativos encontramos:
– Burbuja
– Inserción
– Selección
– Shellsort
2.2 - METODOS RECURSIVOS
Estos metodos son aún mas complejos, requieren de mayor atención y conocimiento
para ser entendidos. Son rápidos y efectivos, utilizan generalmente la técnica Divide
y vencerás, que consiste en dividir un problema grande en variospequeños para que
sea más fácil resolverlos.
Mediante llamadas recursivas a si mismos, es posible que el tiempo de ejecución y de
ordenación sea más optimo.
Dento de los algoritmos recursivos encontramos:
– Ordenamiento por Mezclas (merge)
– Ordenamiento Rápido (quick)
3 – METODO DE LA BURBUJA
El metodo de la burbuja es uno de los mas simples, es tan facil como comparar todos
los elementos de unalista contra todos, si se cumple que uno es mayor o menor a
otro, entonces los intercambia de posición.
Por ejemeplo, imaginemos que tenemos los siguientes valores:
5 6 1 0 3
Lo que haria una burbuja simple, seria comenzar recorriendo los valores de izq. a
derecha, comenzando por el 5. Lo compara con el 6, con el 1, con el 0 y con el 3, si
es mayor o menor (dependiendo si el orden esascendiente o descendiente) se
intercambian de posicion. Luego continua con el siguiente, con el 6, y lo compara con
todos los elementos de la lista, esperando ver si se cumple o no la misma condicion
que con el primer elemento. Asi, sucesivamente, hasta el ultimo elemento de la lista.
3. 1 – BURBUJA SIMPLE
Como lo describimos en el item anterior, la burbuja mas simple de todas es la que
comparatodos con todos, generando comparaciones extras, por ejemplo, no tiene
sentido que se compare con sigo mismo o que se compare con los valores anteriores a
el, ya que supuestamente, ya estan ordenados.
for (i=1; i temp) && (j >= 0) )
{
matrix[j + 1] = matrix[j];
j--;
}
matrix[j + 1] = temp;
}
}
Seleccion(int[]matrix)
{
int i, j, k, p, buffer, limit = matrix.length-1;
for(k = 0; k {
p = k;
for(i = k+1; i 1)
{
n1 = n / 2;
n2 = n - n1;
mergesort(matrix, init, n1);
mergesort(matrix, init + n1, n2);
merge(matrix, init, n1, n2);
}
}
Y el algoritmo que nos permite mezclar los elementos según corresponda:
private static void merge(int[ ] matrix, int init, int n1, int n2)
{
int[ ] buffer = new int[n1+n2];
int temp = 0;
int temp1 = 0;
int temp2 = 0;
inti;
while ((temp1 < n1) && (temp2 < n2))
{
if (matrix[init + temp1] < matrix[init + n1 + temp2])
buffer[temp++] = matrix[init + (temp1++)];
else
buffer[temp++] = matrix[init + n1 + (temp2++)];
}
while (temp1 < n1)
buffer[temp++] = matrix[init + (temp1++)];
while (temp2 < n2)
buffer[temp++] = matrix[init + n1 + (temp2++)];
for (i = 0; i < n1+n2; i++)
matrix[init + i] = buffer[i];
}...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • escritua
  • Aprendizaje y escritua
  • La Escritua
  • Escritu
  • Escritua Publica Ltda
  • Fonemas de dudosa escritua
  • formatos de escritua
  • Consejos de Escritua

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS