SlideShare una empresa de Scribd logo
1 de 2
Descargar para leer sin conexión
An´lisis de Algoritmos
                        a
                    M.C.C. Ericka Rechy Ram´ ırez
                       Universidad Veracruzana
      Licenciatura en Sistemas Computacionales Administrativos
                               Marzo 22, 2006


1.      Ordenamiento
1.1.     Ordenamiento Quicksort
   Desarrollado por C.A.R. Hoare. Es un m´todo de ordenamiento de divide y
                                            e
vencer´s que consiste en tomar un elemento del arreglo como pivote. Este pivote
       a
es usado para separar los elementos del arreglo en 2 particiones: 1) Partici´n
                                                                             o
izquierda contiene elementos menores al pivote y 2) Partici´n derecha contiene
                                                           o
elementos 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-si


Entero 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
fin-si
   fin-desde
   intercambiar(A[i],A[p])
   devuelve p



Referencias
[ST98]       Standish Thomas A.: Data Structures in Java, Addison Wesley,
             1998




                                   2

Más contenido relacionado

Destacado (6)

Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Sql
SqlSql
Sql
 
Sql
SqlSql
Sql
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Respaldando bd
Respaldando bdRespaldando bd
Respaldando bd
 
Ejercicios normalización
Ejercicios normalizaciónEjercicios normalización
Ejercicios normalización
 

Más de María Luisa Velasco (20)

Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Modulos sgbd
Modulos sgbdModulos sgbd
Modulos sgbd
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Induccion fundbd2012
Induccion fundbd2012Induccion fundbd2012
Induccion fundbd2012
 
Induccion fundbd2012
Induccion fundbd2012Induccion fundbd2012
Induccion fundbd2012
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Proyecto final de algoritmica
Proyecto final de algoritmicaProyecto final de algoritmica
Proyecto final de algoritmica
 
Ejercicios arreglos4
Ejercicios arreglos4Ejercicios arreglos4
Ejercicios arreglos4
 
Ejercicios arreglos2
Ejercicios arreglos2Ejercicios arreglos2
Ejercicios arreglos2
 
Seguridad bd
Seguridad bdSeguridad bd
Seguridad bd
 
Ejercicios3parte
Ejercicios3parteEjercicios3parte
Ejercicios3parte
 
Ejercicio privilegios
Ejercicio privilegiosEjercicio privilegios
Ejercicio privilegios
 
Ejercicios2parte
Ejercicios2parteEjercicios2parte
Ejercicios2parte
 
Arreglos
ArreglosArreglos
Arreglos
 
Ejercicios arreglos
Ejercicios arreglosEjercicios arreglos
Ejercicios arreglos
 
Ejercicios arreglos
Ejercicios arreglosEjercicios arreglos
Ejercicios arreglos
 
Practica controlconcurrencia
Practica controlconcurrenciaPractica controlconcurrencia
Practica controlconcurrencia
 

Análisis de algoritmos Quicksort

  • 1. An´lisis de Algoritmos a M.C.C. Ericka Rechy Ram´ ırez Universidad Veracruzana Licenciatura en Sistemas Computacionales Administrativos Marzo 22, 2006 1. Ordenamiento 1.1. Ordenamiento Quicksort Desarrollado por C.A.R. Hoare. Es un m´todo de ordenamiento de divide y e vencer´s que consiste en tomar un elemento del arreglo como pivote. Este pivote a es usado para separar los elementos del arreglo en 2 particiones: 1) Partici´n o izquierda contiene elementos menores al pivote y 2) Partici´n derecha contiene o elementos 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-si Entero 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. fin-si fin-desde intercambiar(A[i],A[p]) devuelve p Referencias [ST98] Standish Thomas A.: Data Structures in Java, Addison Wesley, 1998 2