viernes, 29 de septiembre de 2017

Trabajo de Investigacion: Ordenacion Directa y Logaritmica

Metodos de Ordenamiento
Debido a que las estructuras de datos son utilizadas para almacenar información, para poder recuperar esa información de manera eficiente es deseable que aquella esté ordenada. Existen varios métodos para ordenar las diferentes estructuras de datos básicas.
Los métodos sencillos por lo general requieren de aproximadamente n x n pasos para ordenar n elementos.
El ordenar un grupo de datos significa mover los datos o sus referencias para que queden en una secuencia tal que represente un orden, el cual puede ser numérico, alfabético o incluso alfanumérico, ascendente o descendente.
Ordenamiento Burbuja:
La Ordenación de burbuja 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.

Empezamos con los datos aleatoriamente ordenados, el primer dato lo tomamos como la parte ordenada, el resto será la parte desordenada.








Tomamos el primer numero de la parte desordenada, en este caso siempre es el segundo, la almacenamos de una variable temporal.






Se compara con el primer numero de la parte ordenada.






Si el numero es menor que se recorre el arreglo y se inserta el numero, si no fuera asi se pone el numero al final de la parte ordenada.



VENTAJAS Y APLICACIONES:
·         Facil de implementar.
·         Eficiente en pocos  datos.
·         Eficiente en datos que ya tienen cierta tendencia al orden.
·         Es el método mas sencillo de programar, no requiere espacio extra.
·         El método de ordenación por inserción directa es el que generalmente utilizan los jugadores de cartas cuando éstas, de ahí que también se conozca con el nombre de método de la baraja.

IMPLEMENTACION:


#define Nelementos 4
....

int i,j;                //Variables contadoras del ciclo.
int lista[Nelementos]={6,9,3,1}; //Declaracion e inicializacion de un arreglo de 4 elementos.
int temp=0;             //Variable temporal.

for (i=1;i<Nelementos;i++)
{
       for (j=0; j <= Nelementos-i ;j++) // for(j=0; j < Nelementos-i; j++) es menor y no menor igual
       {
          if (lista[j] > lista[j+1])//Condicion mayor-menor
          {
            temp=lista[j];
            lista[j]=lista[j+1];
            lista[j+1]=temp;
          }
       }
}




Bibliografia:
http://iutprogramacion.blogspot.com.ar/2013/02/metodos-de-ordenamiento.html

Hector Enrique Guerrero C.(2009). La culpa es del Programmer.

Donald Ervin K. (2002) Clasificacion y Busqueda. Reverte.

Integrantes:
-Escobar Alexis
-Gonzalez Ivan
-Lorenzon Paolo
-Gauna Mayol Pedro