SlideShare ist ein Scribd-Unternehmen logo
1 von 10
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/

Weitere ähnliche Inhalte

Was ist angesagt? (20)

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
 
Metodo quicksort
Metodo quicksortMetodo quicksort
Metodo quicksort
 
Heap sort
Heap sortHeap sort
Heap sort
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos
 
Pilas estáticas. IESIT
Pilas estáticas. IESITPilas estáticas. IESIT
Pilas estáticas. IESIT
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
 
Método de Heapsort
Método de HeapsortMétodo de Heapsort
Método de Heapsort
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datos
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Aritmetica Modular
Aritmetica ModularAritmetica Modular
Aritmetica Modular
 
Merge Sort
Merge SortMerge Sort
Merge Sort
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Conjunto independiente máximo
Conjunto independiente máximoConjunto independiente máximo
Conjunto independiente máximo
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 

Andere mochten auch

Andere mochten auch (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
 
Quicksort
QuicksortQuicksort
Quicksort
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 
Quicksort
QuicksortQuicksort
Quicksort
 
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
 

Ähnlich wie 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 Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos OrdenamientoDaniel Guaycha
 
Quick Sort
Quick SortQuick Sort
Quick Sortjo0eel
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosK Manuel TN
 
Metodos de ordenamiento 2
Metodos de ordenamiento 2Metodos de ordenamiento 2
Metodos de ordenamiento 2angela montilla
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfjorgeulises3
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaMaiky 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ógnitaskatia colin
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en javaeccutpl
 
estructura de estructura de datos
estructura de estructura de datosestructura de estructura de datos
estructura de estructura de datosAnnette Ponzon
 
Presentacion programacion dinamica luis silva
Presentacion programacion dinamica luis silva Presentacion programacion dinamica luis silva
Presentacion programacion dinamica luis silva LuisFeSilva
 
Sistema de numeracion
Sistema de numeracionSistema de numeracion
Sistema de numeracionRafael R
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Descubre el boletín del 12 de Abril de 2024
Descubre el boletín del 12 de Abril de 2024Descubre el boletín del 12 de Abril de 2024
Descubre el boletín del 12 de Abril de 2024Yes Europa
 
Cirugía Oral…………………………………………………..……..pdf
Cirugía Oral…………………………………………………..……..pdfCirugía Oral…………………………………………………..……..pdf
Cirugía Oral…………………………………………………..……..pdfginpao14
 
Unidad 1. Recurso 1. Transformación Digital (1).pdf
Unidad 1. Recurso 1. Transformación Digital (1).pdfUnidad 1. Recurso 1. Transformación Digital (1).pdf
Unidad 1. Recurso 1. Transformación Digital (1).pdfdeuri1
 
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfUNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfARACELIGINESZARATE1
 
COMPETENCIAS PROFESIONALES para el empleo.pptx
COMPETENCIAS PROFESIONALES para el empleo.pptxCOMPETENCIAS PROFESIONALES para el empleo.pptx
COMPETENCIAS PROFESIONALES para el empleo.pptxespaciorientatriguer
 
119672964-Place-de-Infeccion-de-Vias-Urinarias.doc
119672964-Place-de-Infeccion-de-Vias-Urinarias.doc119672964-Place-de-Infeccion-de-Vias-Urinarias.doc
119672964-Place-de-Infeccion-de-Vias-Urinarias.docMarbellaLedsma
 
Banco central de Reserva del Perú...,.....
Banco central de Reserva del Perú...,.....Banco central de Reserva del Perú...,.....
Banco central de Reserva del Perú...,.....MAICKELSANCHEZ2
 
Explora el boletin del 10 de abril de 2024
Explora el boletin del 10 de abril de 2024Explora el boletin del 10 de abril de 2024
Explora el boletin del 10 de abril de 2024Yes Europa
 
PREVENCION AL RIESGO LOCATIVO EN LOS LUGARES DE TRABAJO.ppt
PREVENCION AL RIESGO LOCATIVO EN LOS LUGARES DE TRABAJO.pptPREVENCION AL RIESGO LOCATIVO EN LOS LUGARES DE TRABAJO.ppt
PREVENCION AL RIESGO LOCATIVO EN LOS LUGARES DE TRABAJO.pptMontoyaCruzSofia
 

Kürzlich hochgeladen (9)

Descubre el boletín del 12 de Abril de 2024
Descubre el boletín del 12 de Abril de 2024Descubre el boletín del 12 de Abril de 2024
Descubre el boletín del 12 de Abril de 2024
 
Cirugía Oral…………………………………………………..……..pdf
Cirugía Oral…………………………………………………..……..pdfCirugía Oral…………………………………………………..……..pdf
Cirugía Oral…………………………………………………..……..pdf
 
Unidad 1. Recurso 1. Transformación Digital (1).pdf
Unidad 1. Recurso 1. Transformación Digital (1).pdfUnidad 1. Recurso 1. Transformación Digital (1).pdf
Unidad 1. Recurso 1. Transformación Digital (1).pdf
 
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfUNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
 
COMPETENCIAS PROFESIONALES para el empleo.pptx
COMPETENCIAS PROFESIONALES para el empleo.pptxCOMPETENCIAS PROFESIONALES para el empleo.pptx
COMPETENCIAS PROFESIONALES para el empleo.pptx
 
119672964-Place-de-Infeccion-de-Vias-Urinarias.doc
119672964-Place-de-Infeccion-de-Vias-Urinarias.doc119672964-Place-de-Infeccion-de-Vias-Urinarias.doc
119672964-Place-de-Infeccion-de-Vias-Urinarias.doc
 
Banco central de Reserva del Perú...,.....
Banco central de Reserva del Perú...,.....Banco central de Reserva del Perú...,.....
Banco central de Reserva del Perú...,.....
 
Explora el boletin del 10 de abril de 2024
Explora el boletin del 10 de abril de 2024Explora el boletin del 10 de abril de 2024
Explora el boletin del 10 de abril de 2024
 
PREVENCION AL RIESGO LOCATIVO EN LOS LUGARES DE TRABAJO.ppt
PREVENCION AL RIESGO LOCATIVO EN LOS LUGARES DE TRABAJO.pptPREVENCION AL RIESGO LOCATIVO EN LOS LUGARES DE TRABAJO.ppt
PREVENCION AL RIESGO LOCATIVO EN LOS LUGARES DE TRABAJO.ppt
 

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/