26 abr 2016

Algoritmo de Ordenamiento

Algoritmo de Ordenamiento por Intercambio(Método Burbuja)

Es ir intercambiando repetidamente los elementos adyacentes que no estén en orden.

Ventajas: Es sencillo.
                Es un código reducido realiza el ordenamiento.
                Eficaz. 

Desventajas: Tiende hacerse lento.
                      Realiza numerosas comparaciones. 
Código:
                int i,j;
                int aux=0;
                for(i=0;ia.length;i++;)
                                        {
                      for(j=i+1;j<a.length;j++)
                                                 {
                                               if(a[i]>a[j])
                                                           {
                                                        aux=a[i];
                                                        a[i]=a[j];
                                                        a[j]=aux;
                                                            }
                                                   }
                                         }


             

Algoritmo de Ordenamiento por Selección 

Es buscar el elemento mas pequeño de la lista y lo intercambia con el elemento ubicado en primera posición y así se repite este proceso hasta que quede ordenado la lista.

Ventajas: Fácil implementación.
                No requiere memoria adicional. 
                Rendimiento constante para diferenciar entre el peor y el mejor caso. 

Desventajas: Tiende hacerse lento. 
                      Realiza numerosas comparaciones.

Código:

           int indiceMenor,i,j,n;
               n=a.length;
                   for(i=0;i<n-1;i++)
                      {
                           indiceMenor=i;
                           for(j=i+1;j<n;j++)
                                 {
                            if(a[j]<a[indiceMenor])
                                                 {
                                       indiceMenor=j;
                                                }
                                  if(i!=indicemenor)
                                       {
                              intercambiar(a,i,indiciMenor);
                                        } 
                                 }
                       }


Algoritmo de Ordenamiento por Inserción

Es tomar cada elemento del arreglo para ser ordenado y comparado con los que se encuentres en posiciones anteriores. 


Ventajas:  Fácil implementación.  
                 Requerimientos mínimos de memoria


Desventajas: Tiende hacerse lento.  
                      Realiza numerosas   comparaciones.


Código: 

        int i, j;
        int aux;
         for (i = 1; i < a.length; i++) 
        { 
             j = i; aux = a[i];     
           while (j > 0 && aux < a[j-1])   
                     {     
             a[j] = a[j-1];      
                   j--;      
                     }     
                 a[j] = aux;       
         }