SlideShare una empresa de Scribd logo
Jorge Villarreal Materia: Algoritmos Computacionales Matricula:1497195 Algoritmo de Quicksort
Problema Como hacer para ordenar una cadena de datos aleatorios? Con un algoritmo de ordenamiento es fácil hacer esto, existen varios métodos para ordenar una cadena. Entre estos métodos está el quicksort.
Explicación El ordenamiento rápido (Quick Sort) hace una partición agarra a un elemento para hacer una partición y los elementos menores a este se mueven a una posición anterior y los mayores a una posición mas adelante.Este método es : Recursivo
propiedades Inestable O(lg(n))  O(n2) tiempo o sino O(n·lg(n)) t No se adapta
Pseudocodigo int colocar(int *v, int b, int t) {inti;int pivote, valor_pivote;inttemp;pivote = b; valor_pivote= v[pivote];for (i=b+1; i<=t; i++){if (v[i] < valor_pivote){pivote++; temp=v[i]; v[i]=v[pivote]; v[pivote]=temp;} } temp=v[b];v[b]=v[pivote];v[pivote]=temp; returnpivote; } voidQuicksort(int* v, int b, int t) {int pivote;if(b < t){pivote=colocar(v, b, t); Quicksort(v, b, pivote-1); Quicksort(v, pivote+1, t);} }
Ejemplo 5 - 3 - 7 - 6 - 2 - 1 - 4 Comenzamos con la lista completa. El elemento divisor será el 4: 5 - 3 - 7 - 6 - 2 - 1 - 4 Comparamos con el 5 por la izquierda y el 1 por la derecha. 5 - 3 - 7 - 6 - 2 - 1 - 4 5 es mayor que cuatro y 1 es menor. Intercambiamos: 1 - 3 - 7 - 6 - 2 - 5 - 4 Avanzamos por la izquierda y la derecha: 1 - 3 - 7 - 6 - 2 - 5 - 4 primera llamada se tiene el arreglo ordenado: 1 - 2 - 3 - 4 - 5 - 6 - 7
3 es menor que 4: avanzamos por la izquierda. 2 es menor que 4: nos mantenemos ahí. 1 - 3 - 7 - 6 - 2 - 5 - 4 7 es mayor que 4 y 2 es menor: intercambiamos. 1 - 3 - 2 - 6 - 7 - 5 - 4 Avanzamos por ambos lados: 1 - 3 - 2 - 6 - 7 - 5 - 4 En este momento termina el ciclo principal, porque los índices se cruzaron. Ahora intercambiamos lista[i] con lista[sup] (pasos 16-18): 1 - 3 - 2 - 4 - 7 - 5 - 6 Aplicamos recursivamente a la sublista de la izquierda (índices 0 - 2). Tenemos lo siguiente: 1 - 3 - 2
1 es menor que 2: avanzamos por la izquierda. 3 es mayor: avanzamos por la derecha. Como se intercambiaron los índices termina el ciclo. Se intercambia lista[i] con lista[sup]: 1 - 2 - 3 Al llamar recursivamente para cada nueva sublista (lista[0]-lista[0] y lista[2]-lista[2]) se retorna sin hacer cambios (condición 5.).Para resumir te muestro cómo va quedando la lista: Segunda sublista: lista[4]-lista[6] 7 - 5 - 6 5 - 7 - 6 5 - 6 - 7 Para cada nueva sublista se retorna sin hacer cambios (se cruzan los índices). Finalmente, al retornar de la primera llamada se tiene el arreglo ordenado: 1 - 2 - 3 - 4 - 5 - 6 – 7 Visto en:http://c.conclase.net/orden/?cap=quicksort
Graficado Aquí se demuestra el rendimiento de quicksort en su mejor y peor caso.Mejor caso : nlognPeor caso: n^2
bibliografia http://es.wikipedia.org/wiki/Quicksort http://www.neoteo.com/quicksort-algoritmo-de-ordenamiento-rapido http://www.psicofxp.com/forums/programacion.313/896136-quick-sort-en-c.html http://www.sorting-algorithms.com/quick-sort http://c.conclase.net/orden/?cap=quicksort http://www.psicofxp.com/forums/programacion.313/896136-quick-sort-en-c.html http://www.lolcats.com/view/19564/

Más contenido relacionado

La actualidad más candente

hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
emiru48
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
José Antonio Sandoval Acosta
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
compumet sac
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
José Antonio Sandoval Acosta
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.
Ana Castro
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
Daniel Gomez Jaramillo
 
Arreglos
ArreglosArreglos
Arreglos
laura291091
 
Quicksort
QuicksortQuicksort
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
José Antonio Sandoval Acosta
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
Blanca Parra
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
David Del Angel Rodriguez
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
NANO-06
 
Estructuras no-lineales
Estructuras no-linealesEstructuras no-lineales
Estructuras no-lineales
karlalopezbello
 
Método de Heapsort
Método de HeapsortMétodo de Heapsort
Método de Heapsort
Martin Pacheco Chávez
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directa
tavo_3315_
 
Quicksort
QuicksortQuicksort
Quicksort
Rodolfo Delgado
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
tephyfree
 
Metodo quicksort
Metodo quicksortMetodo quicksort
Metodo quicksort
Patricia Correa
 
Shell exposición
Shell exposiciónShell exposición
Shell exposición
Fercho Junca
 
Dispersión y tablas hash
Dispersión y tablas hashDispersión y tablas hash
Dispersión y tablas hash
Vicente García Díaz
 

La actualidad más candente (20)

hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Arreglos
ArreglosArreglos
Arreglos
 
Quicksort
QuicksortQuicksort
Quicksort
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Estructuras no-lineales
Estructuras no-linealesEstructuras no-lineales
Estructuras no-lineales
 
Método de Heapsort
Método de HeapsortMétodo de Heapsort
Método de Heapsort
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directa
 
Quicksort
QuicksortQuicksort
Quicksort
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 
Metodo quicksort
Metodo quicksortMetodo quicksort
Metodo quicksort
 
Shell exposición
Shell exposiciónShell exposición
Shell exposición
 
Dispersión y tablas hash
Dispersión y tablas hashDispersión y tablas hash
Dispersión y tablas hash
 

Destacado

Quicksort
QuicksortQuicksort
Quicksort
José Pino
 
Algoritmo metodo quicksort
Algoritmo metodo quicksortAlgoritmo metodo quicksort
Algoritmo metodo quicksort
Patricia Correa
 
Algortimos De Ordenamiento
Algortimos De OrdenamientoAlgortimos De Ordenamiento
Algortimos De Ordenamiento
Rolf Pinto
 
Método de ordenamiento quicksort
Método de ordenamiento quicksortMétodo de ordenamiento quicksort
Método de ordenamiento quicksort
jorgellanos29
 
Quick Sort
Quick SortQuick Sort
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
Daniel Guaycha
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y Búsqueda
Javier Alvarez
 
Prof. brenda
Prof. brendaProf. brenda
Prof. brenda
brendachaver
 
Tema5
Tema5Tema5
Guión didáctico
Guión didácticoGuión didáctico
Guión didáctico
Pedro Sánchez
 
Algoritmos recursivos
Algoritmos recursivosAlgoritmos recursivos
Algoritmos recursivos
Jefferson Sarmiento
 
Presentacion OpenShift by RedHat
Presentacion OpenShift by RedHatPresentacion OpenShift by RedHat
Presentacion OpenShift by RedHat
José Pino
 
Algoritmos recursivos
Algoritmos recursivosAlgoritmos recursivos
Algoritmos recursivos
feytho
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datos
René Sosa Arana
 
Busqueda
BusquedaBusqueda
Analisis busqueda binaria y secuencia
Analisis busqueda binaria y secuencia Analisis busqueda binaria y secuencia
Analisis busqueda binaria y secuencia
Jose Rios
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
MariviMartinezM
 
Ejercicio de ordenamiento de vectores
Ejercicio de ordenamiento de vectoresEjercicio de ordenamiento de vectores
Ejercicio de ordenamiento de vectores
jmachuca
 
Cuadro comparativo quicksort
Cuadro comparativo quicksortCuadro comparativo quicksort
Cuadro comparativo quicksort
Patricia Correa
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
Jorge Ake Pech
 

Destacado (20)

Quicksort
QuicksortQuicksort
Quicksort
 
Algoritmo metodo quicksort
Algoritmo metodo quicksortAlgoritmo metodo quicksort
Algoritmo metodo quicksort
 
Algortimos De Ordenamiento
Algortimos De OrdenamientoAlgortimos De Ordenamiento
Algortimos De Ordenamiento
 
Método de ordenamiento quicksort
Método de ordenamiento quicksortMétodo de ordenamiento quicksort
Método de ordenamiento quicksort
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y Búsqueda
 
Prof. brenda
Prof. brendaProf. brenda
Prof. brenda
 
Tema5
Tema5Tema5
Tema5
 
Guión didáctico
Guión didácticoGuión didáctico
Guión didáctico
 
Algoritmos recursivos
Algoritmos recursivosAlgoritmos recursivos
Algoritmos recursivos
 
Presentacion OpenShift by RedHat
Presentacion OpenShift by RedHatPresentacion OpenShift by RedHat
Presentacion OpenShift by RedHat
 
Algoritmos recursivos
Algoritmos recursivosAlgoritmos recursivos
Algoritmos recursivos
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datos
 
Busqueda
BusquedaBusqueda
Busqueda
 
Analisis busqueda binaria y secuencia
Analisis busqueda binaria y secuencia Analisis busqueda binaria y secuencia
Analisis busqueda binaria y secuencia
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Ejercicio de ordenamiento de vectores
Ejercicio de ordenamiento de vectoresEjercicio de ordenamiento de vectores
Ejercicio de ordenamiento de vectores
 
Cuadro comparativo quicksort
Cuadro comparativo quicksortCuadro comparativo quicksort
Cuadro comparativo quicksort
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 

Similar a Algoritmo de quicksort

Tiempo de ejecucion de particiones (quicksort)
Tiempo de ejecucion de particiones (quicksort)Tiempo de ejecucion de particiones (quicksort)
Tiempo de ejecucion de particiones (quicksort)
Linio Colquehuanca Rodrigo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
guest404c7afe
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos Ordenamiento
Daniel Guaycha
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
Ascencion Esquivel
 
Quick Sort
Quick SortQuick Sort
Quick Sort
jo0eel
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodos
K Manuel TN
 
Metodos de ordenamiento 2
Metodos de ordenamiento 2Metodos de ordenamiento 2
Metodos de ordenamiento 2
angela montilla
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
jorgeulises3
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
Maiky Kobatakane
 
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
Rubi Veronica Chimal Cuxin
 
Ecuaciones de 3 incógnitas
Ecuaciones de 3 incógnitasEcuaciones de 3 incógnitas
Ecuaciones de 3 incógnitas
katia colin
 
Ordenamiento
OrdenamientoOrdenamiento
Ordenamiento
Daniel Santillan
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en java
eccutpl
 
estructura de estructura de datos
estructura de estructura de datosestructura de estructura de datos
estructura de estructura de datos
Annette Ponzon
 
Actividad integradora 2
Actividad integradora 2Actividad integradora 2
Actividad integradora 2
Cinthia Silias Farelo
 
Presentacion programacion dinamica luis silva
Presentacion programacion dinamica luis silva Presentacion programacion dinamica luis silva
Presentacion programacion dinamica luis silva
LuisFeSilva
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
Osvaldo Magaña Cantú
 
Algoritmos divide y vencerás
Algoritmos divide y vencerásAlgoritmos divide y vencerás
Algoritmos divide y vencerás
Aura Maria Castro Bernal
 
Sistema de numeracion
Sistema de numeracionSistema de numeracion
Sistema de numeracion
Rafael R
 
Sistemas de numeracion
Sistemas de numeracionSistemas de numeracion
Sistemas de numeracion
Enrique Díaz Vega
 

Similar a Algoritmo de quicksort (20)

Tiempo de ejecucion de particiones (quicksort)
Tiempo de ejecucion de particiones (quicksort)Tiempo de ejecucion de particiones (quicksort)
Tiempo de ejecucion de particiones (quicksort)
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos Ordenamiento
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodos
 
Metodos de ordenamiento 2
Metodos de ordenamiento 2Metodos de ordenamiento 2
Metodos de ordenamiento 2
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
 
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
 
Ecuaciones de 3 incógnitas
Ecuaciones de 3 incógnitasEcuaciones de 3 incógnitas
Ecuaciones de 3 incógnitas
 
Ordenamiento
OrdenamientoOrdenamiento
Ordenamiento
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en java
 
estructura de estructura de datos
estructura de estructura de datosestructura de estructura de datos
estructura de estructura de datos
 
Actividad integradora 2
Actividad integradora 2Actividad integradora 2
Actividad integradora 2
 
Presentacion programacion dinamica luis silva
Presentacion programacion dinamica luis silva Presentacion programacion dinamica luis silva
Presentacion programacion dinamica luis silva
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Algoritmos divide y vencerás
Algoritmos divide y vencerásAlgoritmos divide y vencerás
Algoritmos divide y vencerás
 
Sistema de numeracion
Sistema de numeracionSistema de numeracion
Sistema de numeracion
 
Sistemas de numeracion
Sistemas de numeracionSistemas de numeracion
Sistemas de numeracion
 

Último

Explora el boletín del 5 de junio de 2024.doc
Explora el boletín del 5 de junio de 2024.docExplora el boletín del 5 de junio de 2024.doc
Explora el boletín del 5 de junio de 2024.doc
Yes Europa
 
Explora el boletín del 10 de junio de 2024
Explora el boletín del 10 de junio de 2024Explora el boletín del 10 de junio de 2024
Explora el boletín del 10 de junio de 2024
Yes Europa
 
Explora el boletín del 3 de junio de 2024
Explora el boletín del 3 de junio de 2024Explora el boletín del 3 de junio de 2024
Explora el boletín del 3 de junio de 2024
Yes Europa
 
Mapa-conceptual-de-los-Carbohidratos.docx
Mapa-conceptual-de-los-Carbohidratos.docxMapa-conceptual-de-los-Carbohidratos.docx
Mapa-conceptual-de-los-Carbohidratos.docx
t2rsm8p5kc
 
VIAS DE ADMINISTRACION MED Aves de coralpptx
VIAS DE ADMINISTRACION MED Aves de coralpptxVIAS DE ADMINISTRACION MED Aves de coralpptx
VIAS DE ADMINISTRACION MED Aves de coralpptx
sandramescua12
 
Sangre que me da la paz C_letra y acordes.pdf
Sangre que me da la paz C_letra y acordes.pdfSangre que me da la paz C_letra y acordes.pdf
Sangre que me da la paz C_letra y acordes.pdf
Ani Ann
 
Explora el boletin del 17 de mayo de 2024
Explora el boletin del 17 de mayo de 2024Explora el boletin del 17 de mayo de 2024
Explora el boletin del 17 de mayo de 2024
Yes Europa
 
Sesión 1 - Redacción de los Documentos Administrativos.pdf
Sesión 1 - Redacción de los Documentos Administrativos.pdfSesión 1 - Redacción de los Documentos Administrativos.pdf
Sesión 1 - Redacción de los Documentos Administrativos.pdf
JoseMatos426297
 
miocardiopatia chagasica 1 de la universidade ufano
miocardiopatia chagasica 1 de la universidade ufanomiocardiopatia chagasica 1 de la universidade ufano
miocardiopatia chagasica 1 de la universidade ufano
OnismarLopes
 
Análisis de Políticas Educativas (presentación).pptx
Análisis de Políticas Educativas (presentación).pptxAnálisis de Políticas Educativas (presentación).pptx
Análisis de Políticas Educativas (presentación).pptx
GabrielaBianchini6
 
Manual de Marca Municipalidad de Rosario
Manual de Marca Municipalidad de RosarioManual de Marca Municipalidad de Rosario
Manual de Marca Municipalidad de Rosario
estacionmartinezestr
 

Último (11)

Explora el boletín del 5 de junio de 2024.doc
Explora el boletín del 5 de junio de 2024.docExplora el boletín del 5 de junio de 2024.doc
Explora el boletín del 5 de junio de 2024.doc
 
Explora el boletín del 10 de junio de 2024
Explora el boletín del 10 de junio de 2024Explora el boletín del 10 de junio de 2024
Explora el boletín del 10 de junio de 2024
 
Explora el boletín del 3 de junio de 2024
Explora el boletín del 3 de junio de 2024Explora el boletín del 3 de junio de 2024
Explora el boletín del 3 de junio de 2024
 
Mapa-conceptual-de-los-Carbohidratos.docx
Mapa-conceptual-de-los-Carbohidratos.docxMapa-conceptual-de-los-Carbohidratos.docx
Mapa-conceptual-de-los-Carbohidratos.docx
 
VIAS DE ADMINISTRACION MED Aves de coralpptx
VIAS DE ADMINISTRACION MED Aves de coralpptxVIAS DE ADMINISTRACION MED Aves de coralpptx
VIAS DE ADMINISTRACION MED Aves de coralpptx
 
Sangre que me da la paz C_letra y acordes.pdf
Sangre que me da la paz C_letra y acordes.pdfSangre que me da la paz C_letra y acordes.pdf
Sangre que me da la paz C_letra y acordes.pdf
 
Explora el boletin del 17 de mayo de 2024
Explora el boletin del 17 de mayo de 2024Explora el boletin del 17 de mayo de 2024
Explora el boletin del 17 de mayo de 2024
 
Sesión 1 - Redacción de los Documentos Administrativos.pdf
Sesión 1 - Redacción de los Documentos Administrativos.pdfSesión 1 - Redacción de los Documentos Administrativos.pdf
Sesión 1 - Redacción de los Documentos Administrativos.pdf
 
miocardiopatia chagasica 1 de la universidade ufano
miocardiopatia chagasica 1 de la universidade ufanomiocardiopatia chagasica 1 de la universidade ufano
miocardiopatia chagasica 1 de la universidade ufano
 
Análisis de Políticas Educativas (presentación).pptx
Análisis de Políticas Educativas (presentación).pptxAnálisis de Políticas Educativas (presentación).pptx
Análisis de Políticas Educativas (presentación).pptx
 
Manual de Marca Municipalidad de Rosario
Manual de Marca Municipalidad de RosarioManual de Marca Municipalidad de Rosario
Manual de Marca Municipalidad de Rosario
 

Algoritmo de quicksort

  • 1. Jorge Villarreal Materia: Algoritmos Computacionales Matricula:1497195 Algoritmo de Quicksort
  • 2. Problema Como hacer para ordenar una cadena de datos aleatorios? Con un algoritmo de ordenamiento es fácil hacer esto, existen varios métodos para ordenar una cadena. Entre estos métodos está el quicksort.
  • 3. Explicación El ordenamiento rápido (Quick Sort) hace una partición agarra a un elemento para hacer una partición y los elementos menores a este se mueven a una posición anterior y los mayores a una posición mas adelante.Este método es : Recursivo
  • 4. propiedades Inestable O(lg(n)) O(n2) tiempo o sino O(n·lg(n)) t No se adapta
  • 5. Pseudocodigo int colocar(int *v, int b, int t) {inti;int pivote, valor_pivote;inttemp;pivote = b; valor_pivote= v[pivote];for (i=b+1; i<=t; i++){if (v[i] < valor_pivote){pivote++; temp=v[i]; v[i]=v[pivote]; v[pivote]=temp;} } temp=v[b];v[b]=v[pivote];v[pivote]=temp; returnpivote; } voidQuicksort(int* v, int b, int t) {int pivote;if(b < t){pivote=colocar(v, b, t); Quicksort(v, b, pivote-1); Quicksort(v, pivote+1, t);} }
  • 6. Ejemplo 5 - 3 - 7 - 6 - 2 - 1 - 4 Comenzamos con la lista completa. El elemento divisor será el 4: 5 - 3 - 7 - 6 - 2 - 1 - 4 Comparamos con el 5 por la izquierda y el 1 por la derecha. 5 - 3 - 7 - 6 - 2 - 1 - 4 5 es mayor que cuatro y 1 es menor. Intercambiamos: 1 - 3 - 7 - 6 - 2 - 5 - 4 Avanzamos por la izquierda y la derecha: 1 - 3 - 7 - 6 - 2 - 5 - 4 primera llamada se tiene el arreglo ordenado: 1 - 2 - 3 - 4 - 5 - 6 - 7
  • 7. 3 es menor que 4: avanzamos por la izquierda. 2 es menor que 4: nos mantenemos ahí. 1 - 3 - 7 - 6 - 2 - 5 - 4 7 es mayor que 4 y 2 es menor: intercambiamos. 1 - 3 - 2 - 6 - 7 - 5 - 4 Avanzamos por ambos lados: 1 - 3 - 2 - 6 - 7 - 5 - 4 En este momento termina el ciclo principal, porque los índices se cruzaron. Ahora intercambiamos lista[i] con lista[sup] (pasos 16-18): 1 - 3 - 2 - 4 - 7 - 5 - 6 Aplicamos recursivamente a la sublista de la izquierda (índices 0 - 2). Tenemos lo siguiente: 1 - 3 - 2
  • 8. 1 es menor que 2: avanzamos por la izquierda. 3 es mayor: avanzamos por la derecha. Como se intercambiaron los índices termina el ciclo. Se intercambia lista[i] con lista[sup]: 1 - 2 - 3 Al llamar recursivamente para cada nueva sublista (lista[0]-lista[0] y lista[2]-lista[2]) se retorna sin hacer cambios (condición 5.).Para resumir te muestro cómo va quedando la lista: Segunda sublista: lista[4]-lista[6] 7 - 5 - 6 5 - 7 - 6 5 - 6 - 7 Para cada nueva sublista se retorna sin hacer cambios (se cruzan los índices). Finalmente, al retornar de la primera llamada se tiene el arreglo ordenado: 1 - 2 - 3 - 4 - 5 - 6 – 7 Visto en:http://c.conclase.net/orden/?cap=quicksort
  • 9. Graficado Aquí se demuestra el rendimiento de quicksort en su mejor y peor caso.Mejor caso : nlognPeor caso: n^2
  • 10. bibliografia http://es.wikipedia.org/wiki/Quicksort http://www.neoteo.com/quicksort-algoritmo-de-ordenamiento-rapido http://www.psicofxp.com/forums/programacion.313/896136-quick-sort-en-c.html http://www.sorting-algorithms.com/quick-sort http://c.conclase.net/orden/?cap=quicksort http://www.psicofxp.com/forums/programacion.313/896136-quick-sort-en-c.html http://www.lolcats.com/view/19564/