Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ordenamiento quicksort

2,096 views

Published on

  • Be the first to comment

  • Be the first to like this

Ordenamiento quicksort

  1. 1. An´lisis de Algoritmos a M.C.C. Ericka Rechy Ram´ ırez Universidad Veracruzana Licenciatura en Sistemas Computacionales Administrativos Marzo 22, 20061. Ordenamiento1.1. Ordenamiento Quicksort Desarrollado por C.A.R. Hoare. Es un m´todo de ordenamiento de divide y evencer´s que consiste en tomar un elemento del arreglo como pivote. Este pivote aes usado para separar los elementos del arreglo en 2 particiones: 1) Partici´n oizquierda contiene elementos menores al pivote y 2) Partici´n derecha contiene oelementos mayores o iguales al pivote. Quicksort es entonces aplicado de forma recursiva para ordenar las particio-nes izquierdas y derechas.funcion Quicksort(A[], m, n) si(m < n) entonces p ← particion (A, m, n) Quicksort(A, m, p-1) Quicksort(A, p+1, n) fin-siEntero funcion particion(A[], i, j) mitad ← (i + j)/2 pivote ← A[mitad] A[mitad] ← A[i] A[i] ← pivote p←i desde k ← i + 1 hasta k ← j hacer Si A[k] < pivote entonces temp ← A[++p]; A[p] ← A[k] A[k] ← temp 1
  2. 2. fin-si fin-desde intercambiar(A[i],A[p]) devuelve pReferencias[ST98] Standish Thomas A.: Data Structures in Java, Addison Wesley, 1998 2

×