martes, 25 de octubre de 2011

Ordenamiento Shell

  1. El ordenamiento por inserción es eficiente si la entrada está "casi ordenada".
  2. El ordenamiento por inserción es ineficiente, en general, porque mueve los valores sólo una posición cada vez.
El algoritmo Shell sort mejora el ordenamiento por inserción comparando elementos separados por un espacio de varias posiciones. Esto permite que un elemento haga "pasos más grandes" hacia su posición esperada. Los pasos múltiples sobre los datos se hacen con tamaños de espacio cada vez más pequeños. El último paso del Shell sort es un simple ordenamiento por inserción, pero para entonces, ya está garantizado que los datos del vector están casi ordenados.

Ordenamiento por inserción

Es una manera muy natural de ordenar para un ser humano, y puede usarse fácilmente para ordenar un mazo de cartas numeradas en forma arbitraria. Requiere O(n²) operaciones para ordenar una lista de n elementos.Inicialmente se tiene un solo elemento, que obviamente es un conjunto ordenado. Después, cuando hay k elementos ordenados de menor a mayor, se toma el elemento k+1 y se compara con todos los elementos ya ordenados, deteniéndose cuando se encuentra un elemento menor (todos los elementos mayores han sido desplazados una posición a la derecha). En este punto se inserta el elemento k+1 debiendo desplazarse los demás elementos.

Ordenamiento 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

ALGORITMO DE ORDENAMIENTO

Es un algoritmo que pone elementos de un vector en una secuencia dada por una relación de orden, es  el resultado de salida ha de ser una permutación o reordenamiento de la entrada que satisfaga la relación de orden dada. Las relaciones de orden más usadas son el orden numérico y el orden lexicográfico. Ordenamientos eficientes son importantes para optimizar el uso de otros algoritmos (como los de búsqueda y fusión) que requieren listas ordenadas para una ejecución rápida. También es útil para poner datos en forma canónica y para generar resultados legibles por humanos.


domingo, 21 de agosto de 2011


LOS SIGUIENTES PROGRAMAS SE EFECUTAN DESDEE LA CONSOLA DE JAVA Y TIENEN SU METODO.

CONVERCION DE UNIDADES


public class Conversor{

private double mI;
private double mF;
private double valor;


public Conversor(double i, double f, double v){

this.mI=i;
this.mF=f;
this.valor=v;

}


public double getMedida(){
double m;

if(mI==1){
System.out.println("La medida inicial es Hectometros);

if(this.mF==1){m=valor;}
return("el resultado es en ");
else{ if(this.mF==2){m=valor*10;}

else{ if(this.mF==3){m=valor*100;}

else{ if(this.mF==4){m=valor*1000;}

else{ if(this.mF==5){m=valor*10000;}

else{ if(this.mF==6){m=valor*100000;}

else{ if(this.mF==7){m=valor*1000000;}

else{ if(this.mF==8){m=valor*10000000;}
return(m);
       }
       }
           }
           }
           }
           }
            }
                       }
return(m);
}
}


FIBONACI


public class Fibonaci {
private int numero;

public Fibonaci (int num) {
this.numero=num;
}

public String getFibonaci (int num) {
int i;
int result = 1;
for(i = 1; i <= num; i++){
result=result* i;
}
return("El fibonaci es:" + result);
}

}