SlideShare una empresa de Scribd logo
1 de 19
Ordenamientos
Unidad 3
ING. ALVARO ENRIQUE RUANO
Contenido
● Ordenamiento
● Métodos de Ordenamiento
o Intercambio o Burbuja
o Por Inserción
o Por Selección
o Shell
o Rápido (Quick)
o Por Mezcla (Merge)
Ordenamiento Rápido
● Más conocido como “Quicksort”.
● Se basa en el hecho de que es más fácil y rápido ordenar dos listas
pequeñas que una lista grande.
● Se llama método de ordenación rápida porque, en general, puede ordenar
una lista de datos mucho más rápidamente que cualquiera de los otros
métodos vistos.
● Se basa en la estrategia típica de “Divide y vencerás”.
Ordenamiento Rápido
● La lista a ordenar debe dividirse en dos sublistas.
● La primera sublista deberá contener todos los valores menores a un cierto
valor, mientras que la otra deberá contener los mayores.
● El valor que divide las dos sublistas es llamado “Pivote”.
● El Pivote puede ser cualquier valor arbitrario del vector.
Ordenamiento Rápido
● Se toma como pivote el primer elemento de la lista.
● Se recorre el arreglo de izquierda a derecha buscando elementos mayores
que el pivote.
● Se recorre el arreglo de derecha a izquierda buscando elementos
menores que el pivote.
● Al encontrar los valores mencionados anteriormente, se realiza un
intercambio.
Ordenamiento Rápido
● El objetivo es que la lista se vea de la siguiente forma:
● Luego que se tiene el arreglo de esta form,a VI y VD se deben ordenar de
forma recursiva teniendo como caso base cuando los subarreglos tienen
una longitud de 1.
VI Pivote VD
Subvector que contiene los
valores inferiores o iguales
desordenados.
Valor de separación. Subvector que contiene los
valores superiores o iguales
desordenados.
Ordenamiento Rápido
Ordenamiento Rápido - Algoritmo
Ordenamiento Rápido
Ordenamiento Por Mezcla
● Ordenamiento por mezcla o “Merge”
● Se basa en la estrategia de “Divide y Vencerás”.
● Consiste en tomar 2 arreglos ordenados y mezclarlos para formar un
nuevo arreglo ordenado.
Ordenamiento Por Mezcla
● Pasos
1. Dividir por la mitad el arreglo desordenado en 2 arreglos y se continúa de
esa manera hasta llegar a arreglos de 1 elemento.
2. Se inicia el proceso de mezcla entre arreglos ordenando cada nivel hasta
llegar al arreglo original ordenado.
3. Seleccionar el elemento menor de los 2 arreglos y situarlo en la posición
1 de un nuevo arreglo.
4. Comparar los subsiguientes elementos de los 2 arreglos existentes y
colocar primero el elemento más pequeño.
5. Realizar esta operación hasta que se obtenga un único arreglo ordenado.
Ordenamiento Por Mezcla
Ordenamiento Por Mezcla
Asistencia
● Toma de asistencia.
Gracias por su atención

Más contenido relacionado

La actualidad más candente

Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.xaviercamposm
 
Sorting method data structure
Sorting method data structureSorting method data structure
Sorting method data structuresunilchute1
 
DiseñO LóGico De Bases De Datos Para El Modelo Relacional
DiseñO LóGico De Bases De Datos Para El Modelo RelacionalDiseñO LóGico De Bases De Datos Para El Modelo Relacional
DiseñO LóGico De Bases De Datos Para El Modelo RelacionalNatalia Ludeña
 
Quicksort Presentation
Quicksort PresentationQuicksort Presentation
Quicksort Presentationirdginfo
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en javaeccutpl
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTODaniel Guaycha
 
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 directatavo_3315_
 
Insertion sort
Insertion sortInsertion sort
Insertion sortMichael
 
Sistemas Operativos I-Particionamiento de memoria
Sistemas Operativos I-Particionamiento de memoriaSistemas Operativos I-Particionamiento de memoria
Sistemas Operativos I-Particionamiento de memoriaMari Cruz
 
Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosAngel Vázquez Patiño
 

La actualidad más candente (20)

Ordenamiento c++
Ordenamiento c++Ordenamiento c++
Ordenamiento c++
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.
 
Sorting method data structure
Sorting method data structureSorting method data structure
Sorting method data structure
 
Infografia
InfografiaInfografia
Infografia
 
DiseñO LóGico De Bases De Datos Para El Modelo Relacional
DiseñO LóGico De Bases De Datos Para El Modelo RelacionalDiseñO LóGico De Bases De Datos Para El Modelo Relacional
DiseñO LóGico De Bases De Datos Para El Modelo Relacional
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdf
 
Merge sort algorithm power point presentation
Merge sort algorithm power point presentationMerge sort algorithm power point presentation
Merge sort algorithm power point presentation
 
Shell exposición
Shell exposiciónShell exposición
Shell exposición
 
Quicksort Presentation
Quicksort PresentationQuicksort Presentation
Quicksort Presentation
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en java
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 
Indices tipo arbol b+
Indices tipo arbol b+Indices tipo arbol b+
Indices tipo arbol b+
 
Quicksort
QuicksortQuicksort
Quicksort
 
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
 
Insertion Sort
Insertion SortInsertion Sort
Insertion Sort
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Sistemas Operativos I-Particionamiento de memoria
Sistemas Operativos I-Particionamiento de memoriaSistemas Operativos I-Particionamiento de memoria
Sistemas Operativos I-Particionamiento de memoria
 
Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibrados
 
Informe insercion
Informe insercionInforme insercion
Informe insercion
 

Similar a Ordenamientos rápido y mezcla

Similar a Ordenamientos rápido y mezcla (13)

Algoritmos de Ordenación
Algoritmos de OrdenaciónAlgoritmos de Ordenación
Algoritmos de Ordenación
 
Comparativa entre Algoritmos de Ordenamiento
Comparativa entre Algoritmos de OrdenamientoComparativa entre Algoritmos de Ordenamiento
Comparativa entre Algoritmos de Ordenamiento
 
1_Metodos.doc
1_Metodos.doc1_Metodos.doc
1_Metodos.doc
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datos
 
Ordenamiento QuickSort
Ordenamiento QuickSortOrdenamiento QuickSort
Ordenamiento QuickSort
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Ordenacion
OrdenacionOrdenacion
Ordenacion
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 

Más de Alvaro Enrique Ruano

Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Alvaro Enrique Ruano
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmosAlvaro Enrique Ruano
 
Ordenamientos por selección y Shell
Ordenamientos por selección y ShellOrdenamientos por selección y Shell
Ordenamientos por selección y ShellAlvaro Enrique Ruano
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresAlvaro Enrique Ruano
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesAlvaro Enrique Ruano
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoAlvaro Enrique Ruano
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 
Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Alvaro Enrique Ruano
 
Solución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareSolución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareAlvaro Enrique Ruano
 

Más de Alvaro Enrique Ruano (15)

Resumen caso Enron
Resumen caso EnronResumen caso Enron
Resumen caso Enron
 
Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
 
Ordenamientos por selección y Shell
Ordenamientos por selección y ShellOrdenamientos por selección y Shell
Ordenamientos por selección y Shell
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clases
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
 
Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...
 
Solución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareSolución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de software
 

Ordenamientos rápido y mezcla

  • 2. Contenido ● Ordenamiento ● Métodos de Ordenamiento o Intercambio o Burbuja o Por Inserción o Por Selección o Shell o Rápido (Quick) o Por Mezcla (Merge)
  • 3. Ordenamiento Rápido ● Más conocido como “Quicksort”. ● Se basa en el hecho de que es más fácil y rápido ordenar dos listas pequeñas que una lista grande. ● Se llama método de ordenación rápida porque, en general, puede ordenar una lista de datos mucho más rápidamente que cualquiera de los otros métodos vistos. ● Se basa en la estrategia típica de “Divide y vencerás”.
  • 4. Ordenamiento Rápido ● La lista a ordenar debe dividirse en dos sublistas. ● La primera sublista deberá contener todos los valores menores a un cierto valor, mientras que la otra deberá contener los mayores. ● El valor que divide las dos sublistas es llamado “Pivote”. ● El Pivote puede ser cualquier valor arbitrario del vector.
  • 5. Ordenamiento Rápido ● Se toma como pivote el primer elemento de la lista. ● Se recorre el arreglo de izquierda a derecha buscando elementos mayores que el pivote. ● Se recorre el arreglo de derecha a izquierda buscando elementos menores que el pivote. ● Al encontrar los valores mencionados anteriormente, se realiza un intercambio.
  • 6. Ordenamiento Rápido ● El objetivo es que la lista se vea de la siguiente forma: ● Luego que se tiene el arreglo de esta form,a VI y VD se deben ordenar de forma recursiva teniendo como caso base cuando los subarreglos tienen una longitud de 1. VI Pivote VD Subvector que contiene los valores inferiores o iguales desordenados. Valor de separación. Subvector que contiene los valores superiores o iguales desordenados.
  • 9.
  • 10.
  • 12. Ordenamiento Por Mezcla ● Ordenamiento por mezcla o “Merge” ● Se basa en la estrategia de “Divide y Vencerás”. ● Consiste en tomar 2 arreglos ordenados y mezclarlos para formar un nuevo arreglo ordenado.
  • 13. Ordenamiento Por Mezcla ● Pasos 1. Dividir por la mitad el arreglo desordenado en 2 arreglos y se continúa de esa manera hasta llegar a arreglos de 1 elemento. 2. Se inicia el proceso de mezcla entre arreglos ordenando cada nivel hasta llegar al arreglo original ordenado. 3. Seleccionar el elemento menor de los 2 arreglos y situarlo en la posición 1 de un nuevo arreglo. 4. Comparar los subsiguientes elementos de los 2 arreglos existentes y colocar primero el elemento más pequeño. 5. Realizar esta operación hasta que se obtenga un único arreglo ordenado.
  • 16.
  • 17.
  • 18. Asistencia ● Toma de asistencia.
  • 19. Gracias por su atención