equipo 4 alejandro vazquez muÑoz minerva matlalcuatzi cruz viridiana xochitiontzi cuateconzi

Post on 29-Jan-2016

62 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

INSTITUTO TECNOLOGICO DE APIZACO. CATEDRATICO: MARIA GUADALUPE REYES GUTIERREZ. EQUIPO 4 ALEJANDRO VAZQUEZ MUÑOZ MINERVA MATLALCUATZI CRUZ VIRIDIANA XOCHITIONTZI CUATECONZI ERIKA ESCAREGA RODRIGUEZ. Quick Sort: ORDENACION RAPIDA *. - PowerPoint PPT Presentation

TRANSCRIPT

EQUIPO 4

ALEJANDRO VAZQUEZ MUÑOZMINERVA MATLALCUATZI CRUZVIRIDIANA XOCHITIONTZI CUATECONZIERIKA ESCAREGA RODRIGUEZ

INSTITUTO TECNOLOGICO DE APIZACO

CATEDRATICO: MARIA GUADALUPE REYES GUTIERREZ

Quick Sort: ORDENACION RAPIDA *

Es el método de ordenamiento Quick Sort es actualmente el mas eficiente y veloz de los metodos de ordenación.

Este método es una mejora sustancial del método de intercambio directo y recibe el nombre de Quick Sort por la velocidad con que ordena los elementos del (arreglo) codigo.

El secreto de Quick Sort consiste en dividir la lista original en dos listas mas pequeñas.

Para ello, se elige un elemento cualquiera (aunque en general se suele utilizar el que se encuentra en medio de la lista.) que se le llama pivote. la lista original en dos listas mas pequeñas.

La idea central de este algoritmo consiste en lo siguiente:

Se trata de ubicar el pivote en la posicion correcta del arreglo, de tal forma que todos los elementos que se centran a la izquierda sean menores o iguales a x.

Y todos los elementos que se encuentran a su derecha sean mayores o iguales a x.

Las implementaciones mas eficientes realizan esta tarea

Una vez terminado de recorrer el vector, se tiene en la primera posición al menor elemento de todos. El proceso se repite ahora con el segundo elemento del arreglo y así para todos los elementos.

PSEUDOCODIGO

quickSort(int[] v, int inicio, int fin)         si(inicio>=fin) regresa          pivote = v[inicio]         izq    = inicio+1         der    = fin        cuando (izq<=der)             cuando(izq<=fin   && v[izq]< pivote) izq++            cuando(der>inicio && v[der]>=pivote) der--            si(izq<der)                  tmp = v[izq]                v[izq]  = v[der]                v[der]  = tmp

public class Main{public static void main (String[] args){Scanner sc = new Scanner(System.in);int tamanio;System.out.print("Ingrese el tamanio del arreglo: ");tamanio = sc.nextInt();int arreglo[] = new int[tamanio];for(int i = 0; i < tamanio; i++){System.out.print("arreglo["+ i +"]: ");arreglo[i] = sc.nextInt();}Quicksort(arreglo, 0, tamanio - 1);System.out.print("\nArreglo ordenado: ");for(int i = 0; i < tamanio; i++)System.out.print(arreglo[i] + " ");}

CODIGO JAVA

GRACIAS POR SU ATENCION

top related