SlideShare una empresa de Scribd logo
1 de 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/

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
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
 
Merge sort
Merge sortMerge sort
Merge sort
 
Método por plegamiento Hash
Método por plegamiento HashMétodo por plegamiento Hash
Método por plegamiento Hash
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamiento
 
Mergesort
MergesortMergesort
Mergesort
 
Aritmetica Modular
Aritmetica ModularAritmetica Modular
Aritmetica Modular
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 
Greedy algorithms
Greedy algorithmsGreedy algorithms
Greedy algorithms
 
DIAGRAMAS DE TIEMPO
DIAGRAMAS DE TIEMPODIAGRAMAS DE TIEMPO
DIAGRAMAS DE TIEMPO
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
compuertas logicas
compuertas logicascompuertas logicas
compuertas logicas
 
Metodo quicksort
Metodo quicksortMetodo quicksort
Metodo quicksort
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Complejidad Algoritmica
Complejidad AlgoritmicaComplejidad Algoritmica
Complejidad Algoritmica
 
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
 
Heap sort
Heap sortHeap sort
Heap sort
 

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
 
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
 
Algoritmo para lavarse las manos
Algoritmo para lavarse las manosAlgoritmo para lavarse las manos
Algoritmo para lavarse las manos
 

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 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
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 

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
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 

Último

Manual Corporativo Cafe Daelicia en pdf.
Manual Corporativo Cafe Daelicia en pdf.Manual Corporativo Cafe Daelicia en pdf.
Manual Corporativo Cafe Daelicia en pdf.FernandoAlvaroSorian
 
Manual-de-instalaciones-sanitarias-modulo-2-Minedu.pdf
Manual-de-instalaciones-sanitarias-modulo-2-Minedu.pdfManual-de-instalaciones-sanitarias-modulo-2-Minedu.pdf
Manual-de-instalaciones-sanitarias-modulo-2-Minedu.pdfFabianaCespedesMerca
 
TEMA 6 LA II REPÚBLICA (1931-1936).pdf
TEMA 6         LA II REPÚBLICA (1931-1936).pdfTEMA 6         LA II REPÚBLICA (1931-1936).pdf
TEMA 6 LA II REPÚBLICA (1931-1936).pdfrauldol777
 
Explora el boletín del 3 de mayo de 2024
Explora el boletín del 3 de mayo de 2024Explora el boletín del 3 de mayo de 2024
Explora el boletín del 3 de mayo de 2024Yes Europa
 
Manejo de recepción y despacho Repuestos
Manejo de recepción y despacho RepuestosManejo de recepción y despacho Repuestos
Manejo de recepción y despacho Repuestoskgenetsamuel
 
253.CUIDARTE SAN MARTIN PARA UNA MEJOR FORMACION
253.CUIDARTE SAN MARTIN PARA UNA MEJOR FORMACION253.CUIDARTE SAN MARTIN PARA UNA MEJOR FORMACION
253.CUIDARTE SAN MARTIN PARA UNA MEJOR FORMACIONArtemisaReateguiCaro
 
Mercado de trabajo y discapacidad. Inclusión laboral.
Mercado de trabajo y discapacidad.  Inclusión laboral.Mercado de trabajo y discapacidad.  Inclusión laboral.
Mercado de trabajo y discapacidad. Inclusión laboral.José María
 
Explora el boletín del 8 de mayo de 2024
Explora el boletín del 8 de mayo de 2024Explora el boletín del 8 de mayo de 2024
Explora el boletín del 8 de mayo de 2024Yes Europa
 
DECRETO 356 vigilancia y seguridad privada
DECRETO 356 vigilancia  y seguridad privadaDECRETO 356 vigilancia  y seguridad privada
DECRETO 356 vigilancia y seguridad privadagordonruizsteffy
 
2 CONCEPTOS BASICOS EN FARMACOLOGIA.pptx
2 CONCEPTOS BASICOS EN FARMACOLOGIA.pptx2 CONCEPTOS BASICOS EN FARMACOLOGIA.pptx
2 CONCEPTOS BASICOS EN FARMACOLOGIA.pptxnaomivillacres0
 

Último (10)

Manual Corporativo Cafe Daelicia en pdf.
Manual Corporativo Cafe Daelicia en pdf.Manual Corporativo Cafe Daelicia en pdf.
Manual Corporativo Cafe Daelicia en pdf.
 
Manual-de-instalaciones-sanitarias-modulo-2-Minedu.pdf
Manual-de-instalaciones-sanitarias-modulo-2-Minedu.pdfManual-de-instalaciones-sanitarias-modulo-2-Minedu.pdf
Manual-de-instalaciones-sanitarias-modulo-2-Minedu.pdf
 
TEMA 6 LA II REPÚBLICA (1931-1936).pdf
TEMA 6         LA II REPÚBLICA (1931-1936).pdfTEMA 6         LA II REPÚBLICA (1931-1936).pdf
TEMA 6 LA II REPÚBLICA (1931-1936).pdf
 
Explora el boletín del 3 de mayo de 2024
Explora el boletín del 3 de mayo de 2024Explora el boletín del 3 de mayo de 2024
Explora el boletín del 3 de mayo de 2024
 
Manejo de recepción y despacho Repuestos
Manejo de recepción y despacho RepuestosManejo de recepción y despacho Repuestos
Manejo de recepción y despacho Repuestos
 
253.CUIDARTE SAN MARTIN PARA UNA MEJOR FORMACION
253.CUIDARTE SAN MARTIN PARA UNA MEJOR FORMACION253.CUIDARTE SAN MARTIN PARA UNA MEJOR FORMACION
253.CUIDARTE SAN MARTIN PARA UNA MEJOR FORMACION
 
Mercado de trabajo y discapacidad. Inclusión laboral.
Mercado de trabajo y discapacidad.  Inclusión laboral.Mercado de trabajo y discapacidad.  Inclusión laboral.
Mercado de trabajo y discapacidad. Inclusión laboral.
 
Explora el boletín del 8 de mayo de 2024
Explora el boletín del 8 de mayo de 2024Explora el boletín del 8 de mayo de 2024
Explora el boletín del 8 de mayo de 2024
 
DECRETO 356 vigilancia y seguridad privada
DECRETO 356 vigilancia  y seguridad privadaDECRETO 356 vigilancia  y seguridad privada
DECRETO 356 vigilancia y seguridad privada
 
2 CONCEPTOS BASICOS EN FARMACOLOGIA.pptx
2 CONCEPTOS BASICOS EN FARMACOLOGIA.pptx2 CONCEPTOS BASICOS EN FARMACOLOGIA.pptx
2 CONCEPTOS BASICOS EN FARMACOLOGIA.pptx
 

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/