Академический Документы
Профессиональный Документы
Культура Документы
Docente:
Mg. Calderón de la Barca Marcos
Alumnos:
Luis Eduardo Cohaila Aguilar
(0201814036)
Nadie ha sido capaz de establecer la mejor secuencia de incrementos cuando N es muy grande.
Complejidad:
En 1969 Pratt descubrió que el tiempo de ejecución del algoritmo es de orden n*(log n)^2
Unas pruebas realizadas para saber la mejor secuencia de intervalos cuando el numero de elementos es
igual a 8 dieron como resultado que la mejor secuencia es un intervalo de 1, pero esto equivale al método de
inserción directa.
Algoritmo:
Método Quicksort
Origen
El algoritmo Quicksort fue desarrollado en el año 1960 por Charles Antony
Richard Hoare , en la Universidad Estatal de Moscú.
Descripción
Es un algoritmo recursivo, pero se utilizan versiones iterativas para mejorar su
rendimiento. Funciona de la siguiente manera:
Elegir un elemento de la lista de elementos a ordenar: Pivote.
Ubicar los demás elementos de la lista a cada lado del pivote: a un lado
quedan todos los menores que él, y al otro los mayores.
La lista queda dividida en dos : la mitad formada por los elementos a la
izquierda del pivote, y otra por los elementos a su derecha.
Repetir este proceso de forma recursiva para cada. Culminado este proceso,
todos los elementos estarán ordenados.
Método Quicksort
Tiempo de Ejecución
Caso promedio:
N.logN
Peor caso posible:
N2
Donde N es el número de elementos que integran la lista.
Ventajas
Rapidez.
No requiere memoria adicional.
Desventajas
Recursividad.
El tiempo de ejecución depende del pivote.
Método Quicksort
Implementación en Java:
public static void quicksort_1(int lf,int rg,int q[]){
int i=lf;
int d=rg;
int aux=0;
int n=q.length;
int piv=q[lf];
while(i<d){
while(q[i]<=piv&&i<d){
i++;}
while(q[d]>piv){
d--;}
if(i<d){
aux=q[i];
q[i]=q[d];
q[d]=aux;} }
q[lf]=q[d];
q[d]=piv;
if(lf<d-1){
quicksort_1(lf,d-1,q); }
if(d+1<rg){
quicksort_1(d+1,rg,q);}
}
BUSQUEDA HASH
• El termino hash significa picar y mezclar en ingles.
• En informática, hace referencia al método para generar llaves
que representen o identifiquen a un dato a través de una
determinada función, llamada función hash, función resumen o
función digest.
• Se usa en criptografía, firmas digitales, validación de ficheros,
entre otros.
• Una buena función hash es una que experimenta pocas
colisiones.
MECANISMO
0
1
Ventajas
Desventajas