SlideShare une entreprise Scribd logo
1  sur  11
Ricardo Tovar Briones – 1463439 Joel A. Escamilla Montemayor - 1443502
Definición El ordenamiento rápido(Quicksorten inglés) es un algoritmo basado en la técnica de divide y vencerás, no solo nos sirve para organizar una lista de datos desorganizados, si no también, para optimizar el tiempo que se ocupa en realizar esta labor, ya que permite ordenar "n" elementos en un tiempo proporcional de O(n log n), lo cual es muy eficiente.
Cómo Funciona? Primero tenemos que elegir un elemento al azar al que llamaremos pivote. Después de elegir el pivote analizaremos y empezaremos acomodarlos de tal manera que los elementos menores al pivote van del lado izquierdo y los mayores del derecho : elemento < pivote = Izquierda elemento > pivote = Derecha De esta forma obtendremos la posición del pivote elegido y a partir de ahí ordenaremos los demás elementos que del pivote se dividen en 2 sublistas las cual de igual manera elegimos un pivote y lo ordenamos como la primera ves y así sucesivamente se irán dividiendo en 2 sublistas pero cada ves menores lo haremos siempre que tenga mas de un elemento y después ya nos queda ordenada.
Cómo Funciona?
81 25 10 47 77 5 33 60 52 7 47 81 25 10 77 5 33 60 52 7 47 10 81 25 10 77 5 33 60 52 7 47 10 77 81 25 5 33 60 52 7 47 10 77 81 25 5 33 60 52 7 47 10 77
Mejor y Peor Caso En el mejor caso, el pivote termina en el centro de la lista, dividiéndola en dos sublistas de igual tamaño. En este caso, el orden de complejidad del algoritmo es O(n·log n). En el peor caso, el pivote termina en un extremo de la lista. El orden de complejidad del algoritmo es entonces de O(n²). El peor caso ocurre en listas que se encuentran ordenadas, o casi ordenadas. Pero principalmente depende del pivote, si por ejemplo el algoritmo implementado toma como pivote siempre el primer elemento del arreglo, y el arreglo que le pasamos está ordenado, siempre va a generar a su izquierda un arreglo vacío, lo que es ineficiente.
Mejor Caso  5 8 3 2 9 1 4
5 8 3 2 9 1 4
Peor Caso 1 2 5 7 4 3 6 j i 5 7 1 2 6 3 4
Pseudocódigo funcion quicksort(arreglo) variables lista, menor, mayor, elemento            if  longitud(arreglo) ≤ 1        return arreglo  else      //seleccionar un valor pivote en el arreglo         for eachelementoen arreglo            ifelemento < pivote entoncesañadir “elemento” a menor            elseañadir“elemento” a mayor    return concadenar_lista(quicksort(menor), pivot, quicksort(mayor))
Video

Contenu connexe

Tendances (20)

Algoritmosenpseudocdigo
AlgoritmosenpseudocdigoAlgoritmosenpseudocdigo
Algoritmosenpseudocdigo
 
Algoritmos en pseudocódigo
Algoritmos en pseudocódigoAlgoritmos en pseudocódigo
Algoritmos en pseudocódigo
 
Heap sort
Heap sortHeap sort
Heap sort
 
Leccion 10
Leccion 10Leccion 10
Leccion 10
 
Programaciòn Estructurada
Programaciòn EstructuradaProgramaciòn Estructurada
Programaciòn Estructurada
 
Mapa mental
Mapa mentalMapa mental
Mapa mental
 
Desarrollo momento 3
Desarrollo momento 3Desarrollo momento 3
Desarrollo momento 3
 
MANDALA
MANDALAMANDALA
MANDALA
 
Eficiencia de los lenguajes basados en reglas 2a parte
Eficiencia de los lenguajes basados en reglas 2a parteEficiencia de los lenguajes basados en reglas 2a parte
Eficiencia de los lenguajes basados en reglas 2a parte
 
If gonzalez y medina
If gonzalez y medinaIf gonzalez y medina
If gonzalez y medina
 
Clase7 fp
Clase7 fpClase7 fp
Clase7 fp
 
Presentacion
PresentacionPresentacion
Presentacion
 
1 ejercicio mt.
1 ejercicio mt.1 ejercicio mt.
1 ejercicio mt.
 
Leyes de Ohm, Kirchhoff, Newton
Leyes de Ohm, Kirchhoff, NewtonLeyes de Ohm, Kirchhoff, Newton
Leyes de Ohm, Kirchhoff, Newton
 
Leccion 9 Java
Leccion 9 JavaLeccion 9 Java
Leccion 9 Java
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sort
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
PDF 14
PDF 14PDF 14
PDF 14
 
Tema5
Tema5Tema5
Tema5
 
Ciclo haga mientras
Ciclo haga mientrasCiclo haga mientras
Ciclo haga mientras
 

En vedette

Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5pootalex
 
El pago magico !brahiian.. 1
El pago magico !brahiian.. 1El pago magico !brahiian.. 1
El pago magico !brahiian.. 1Brahian López
 
Construcción de la tecnología educativa
Construcción de la tecnología educativaConstrucción de la tecnología educativa
Construcción de la tecnología educativaHECJ
 
L'intervention d'Olivier Masselis
L'intervention d'Olivier MasselisL'intervention d'Olivier Masselis
L'intervention d'Olivier MasselisLudovic Dublanchet
 
AFFECTIONS GYNECOLOGIQUES
AFFECTIONS GYNECOLOGIQUESAFFECTIONS GYNECOLOGIQUES
AFFECTIONS GYNECOLOGIQUESMede Space
 
Etude De Fonctions1
Etude De Fonctions1Etude De Fonctions1
Etude De Fonctions1atire
 
L'intervention de Veronique Brizon
L'intervention de Veronique BrizonL'intervention de Veronique Brizon
L'intervention de Veronique BrizonLudovic Dublanchet
 
Ppt parents1ervoyage161214 web2
Ppt parents1ervoyage161214 web2Ppt parents1ervoyage161214 web2
Ppt parents1ervoyage161214 web2massillonprimaire
 
Ppt festividades clase 3
Ppt festividades clase 3Ppt festividades clase 3
Ppt festividades clase 3educmusical1
 
Collaboration et Innovation
Collaboration et InnovationCollaboration et Innovation
Collaboration et InnovationSylvain Carle
 
Classifier vos données pour envisager sereinement le Cloud et le BYOD !
Classifier vos données pour envisager sereinement le Cloud et le BYOD !Classifier vos données pour envisager sereinement le Cloud et le BYOD !
Classifier vos données pour envisager sereinement le Cloud et le BYOD !Microsoft Ideas
 

En vedette (20)

Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5
 
Heap Sort
Heap SortHeap Sort
Heap Sort
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Tablas hash en java
Tablas hash en javaTablas hash en java
Tablas hash en java
 
El pago magico !brahiian.. 1
El pago magico !brahiian.. 1El pago magico !brahiian.. 1
El pago magico !brahiian.. 1
 
Matias y sol
Matias y solMatias y sol
Matias y sol
 
Construcción de la tecnología educativa
Construcción de la tecnología educativaConstrucción de la tecnología educativa
Construcción de la tecnología educativa
 
L'intervention d'Olivier Masselis
L'intervention d'Olivier MasselisL'intervention d'Olivier Masselis
L'intervention d'Olivier Masselis
 
Objets souvenirs et boutique
Objets souvenirs et boutiqueObjets souvenirs et boutique
Objets souvenirs et boutique
 
AFFECTIONS GYNECOLOGIQUES
AFFECTIONS GYNECOLOGIQUESAFFECTIONS GYNECOLOGIQUES
AFFECTIONS GYNECOLOGIQUES
 
Etude De Fonctions1
Etude De Fonctions1Etude De Fonctions1
Etude De Fonctions1
 
L'intervention de Veronique Brizon
L'intervention de Veronique BrizonL'intervention de Veronique Brizon
L'intervention de Veronique Brizon
 
Ppt parents1ervoyage161214 web2
Ppt parents1ervoyage161214 web2Ppt parents1ervoyage161214 web2
Ppt parents1ervoyage161214 web2
 
RODOLFO Y RUFUS
RODOLFO Y RUFUSRODOLFO Y RUFUS
RODOLFO Y RUFUS
 
Ppt festividades clase 3
Ppt festividades clase 3Ppt festividades clase 3
Ppt festividades clase 3
 
Collaboration et Innovation
Collaboration et InnovationCollaboration et Innovation
Collaboration et Innovation
 
Webques dieta
Webques dietaWebques dieta
Webques dieta
 
Conacultainba
ConacultainbaConacultainba
Conacultainba
 
Classifier vos données pour envisager sereinement le Cloud et le BYOD !
Classifier vos données pour envisager sereinement le Cloud et le BYOD !Classifier vos données pour envisager sereinement le Cloud et le BYOD !
Classifier vos données pour envisager sereinement le Cloud et le BYOD !
 
#Et6-At13-L'agrégation
#Et6-At13-L'agrégation#Et6-At13-L'agrégation
#Et6-At13-L'agrégation
 

Similaire à Quick Sort

Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos OrdenamientoDaniel Guaycha
 
MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
MÉTODOS DE ORDENAMIENTO Y BUSQUEDAMÉTODOS DE ORDENAMIENTO Y BUSQUEDA
MÉTODOS DE ORDENAMIENTO Y BUSQUEDASmith Suarez Vargas
 
Reny Galaviz y Jaime Marin Análisis de Algoritmo
Reny Galaviz y Jaime Marin Análisis de AlgoritmoReny Galaviz y Jaime Marin Análisis de Algoritmo
Reny Galaviz y Jaime Marin Análisis de AlgoritmoReny-Galaviz
 
Reny galavs jaimemarin
Reny galavs jaimemarinReny galavs jaimemarin
Reny galavs jaimemarinReny-Galaviz
 
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
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datosRené Sosa Arana
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectoressirekarol
 
Animacion de algortimos de busquedas
Animacion de algortimos de busquedasAnimacion de algortimos de busquedas
Animacion de algortimos de busquedasCarlostheran
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctoresmishuhot
 
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 ordenamientoJosé Antonio Sandoval Acosta
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosK Manuel TN
 
Algoritmo metodo quicksort
Algoritmo metodo quicksortAlgoritmo metodo quicksort
Algoritmo metodo quicksortPatricia Correa
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaMaiky Kobatakane
 

Similaire à Quick Sort (20)

Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos Ordenamiento
 
Quicksort
QuicksortQuicksort
Quicksort
 
Inge no lo hicimos
Inge no lo hicimosInge no lo hicimos
Inge no lo hicimos
 
MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
MÉTODOS DE ORDENAMIENTO Y BUSQUEDAMÉTODOS DE ORDENAMIENTO Y BUSQUEDA
MÉTODOS DE ORDENAMIENTO Y BUSQUEDA
 
Reny Galaviz y Jaime Marin Análisis de Algoritmo
Reny Galaviz y Jaime Marin Análisis de AlgoritmoReny Galaviz y Jaime Marin Análisis de Algoritmo
Reny Galaviz y Jaime Marin Análisis de Algoritmo
 
Reny galavs jaimemarin
Reny galavs jaimemarinReny galavs jaimemarin
Reny galavs jaimemarin
 
Tiempo de ejecucion de particiones (quicksort)
Tiempo de ejecucion de particiones (quicksort)Tiempo de ejecucion de particiones (quicksort)
Tiempo de ejecucion de particiones (quicksort)
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datos
 
Quicksort
QuicksortQuicksort
Quicksort
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectores
 
Quicksort
QuicksortQuicksort
Quicksort
 
Animacion de algortimos de busquedas
Animacion de algortimos de busquedasAnimacion de algortimos de busquedas
Animacion de algortimos de busquedas
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctores
 
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
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodos
 
Algoritmo metodo quicksort
Algoritmo metodo quicksortAlgoritmo metodo quicksort
Algoritmo metodo quicksort
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
 
1_Metodos.doc
1_Metodos.doc1_Metodos.doc
1_Metodos.doc
 

Quick Sort

  • 1. Ricardo Tovar Briones – 1463439 Joel A. Escamilla Montemayor - 1443502
  • 2. Definición El ordenamiento rápido(Quicksorten inglés) es un algoritmo basado en la técnica de divide y vencerás, no solo nos sirve para organizar una lista de datos desorganizados, si no también, para optimizar el tiempo que se ocupa en realizar esta labor, ya que permite ordenar "n" elementos en un tiempo proporcional de O(n log n), lo cual es muy eficiente.
  • 3. Cómo Funciona? Primero tenemos que elegir un elemento al azar al que llamaremos pivote. Después de elegir el pivote analizaremos y empezaremos acomodarlos de tal manera que los elementos menores al pivote van del lado izquierdo y los mayores del derecho : elemento < pivote = Izquierda elemento > pivote = Derecha De esta forma obtendremos la posición del pivote elegido y a partir de ahí ordenaremos los demás elementos que del pivote se dividen en 2 sublistas las cual de igual manera elegimos un pivote y lo ordenamos como la primera ves y así sucesivamente se irán dividiendo en 2 sublistas pero cada ves menores lo haremos siempre que tenga mas de un elemento y después ya nos queda ordenada.
  • 5. 81 25 10 47 77 5 33 60 52 7 47 81 25 10 77 5 33 60 52 7 47 10 81 25 10 77 5 33 60 52 7 47 10 77 81 25 5 33 60 52 7 47 10 77 81 25 5 33 60 52 7 47 10 77
  • 6. Mejor y Peor Caso En el mejor caso, el pivote termina en el centro de la lista, dividiéndola en dos sublistas de igual tamaño. En este caso, el orden de complejidad del algoritmo es O(n·log n). En el peor caso, el pivote termina en un extremo de la lista. El orden de complejidad del algoritmo es entonces de O(n²). El peor caso ocurre en listas que se encuentran ordenadas, o casi ordenadas. Pero principalmente depende del pivote, si por ejemplo el algoritmo implementado toma como pivote siempre el primer elemento del arreglo, y el arreglo que le pasamos está ordenado, siempre va a generar a su izquierda un arreglo vacío, lo que es ineficiente.
  • 7. Mejor Caso 5 8 3 2 9 1 4
  • 8. 5 8 3 2 9 1 4
  • 9. Peor Caso 1 2 5 7 4 3 6 j i 5 7 1 2 6 3 4
  • 10. Pseudocódigo funcion quicksort(arreglo) variables lista, menor, mayor, elemento if longitud(arreglo) ≤ 1 return arreglo else //seleccionar un valor pivote en el arreglo for eachelementoen arreglo ifelemento < pivote entoncesañadir “elemento” a menor elseañadir“elemento” a mayor return concadenar_lista(quicksort(menor), pivot, quicksort(mayor))
  • 11. Video