SlideShare una empresa de Scribd logo
Instituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Estructura de Datos
Unidad V: Métodos de Ordenamiento
Retícula ISIC-2010-224: Programa: AED-1026/2016
Itsguasave.edu.mx
Competencia de la Unidad
• Conoce, comprende y aplica los algoritmos de ordenamiento para el uso
adecuado en el desarrollo de aplicaciones que permita solucionar
problemas del entorno.
ESTRUCTURA DE DATOS
INTRODUCCIÓN
• Muchas actividades humanas requieren que a diferentes colecciones
de elementos utilizados se pongan en un orden específico. Las oficinas
de correo y las empresas de mensajería ordenan el correo y los
paquetes por códigos postales con el objeto de conseguir una entrega
eficiente:
Las facturas telefónicas se ordenan por la fecha de las llamadas;
Las guías telefónicas se ordenan por orden alfabético de apellidos;
Los estudiantes de una clase en la universidad se ordenan por sus
apellidos o por los números de expediente.
• Por esta circunstancia una de las tareas que realizan más
frecuentemente las computadoras en el procesamiento de datos es la
ordenación.
ESTRUCTURA DE DATOS
Algoritmos Internos
de Ordenamiento
ESTRUCTURA DE DATOS
ORDENACIÓN
• La ordenación o clasificación de datos (sort en inglés) es una operación
consistente en disponer un conjunto de datos en algún determinado orden
con respecto a uno de los campos de los elementos del conjunto. Por ejemplo,
cada elemento del conjunto de datos de una guía telefónica tiene un campo
nombre, un campo dirección y un campo número de teléfono;
• En terminología de ordenación, el elemento por el cual está ordenado un
conjunto de datos (o se está buscando) se denomina clave.
La guía telefónica está dispuesta en orden alfabético de nombres.
Los elementos numéricos se pueden ordenar en orden creciente o
decreciente de acuerdo al valor numérico del elemento.
ESTRUCTURA DE DATOS
• Los métodos (algoritmos) de ordenación son numerosos, por ello se debe
prestar especial atención en su elección.
• ¿Cómo se sabe cuál es el mejor algoritmo? La eficiencia es el factor que mide
la calidad y rendimiento de un algoritmo.
• En el caso de la operación de ordenación, dos criterios se suelen seguir a la
hora de decidir qué algoritmo; de entre los que resuelven la ordenación es el
más eficiente:
1) Tiempo menor de ejecución en computadora;
2) Menor número de instrucciones.
ESTRUCTURA DE DATOS
Los métodos de ordenación interna se dividen en dos grandes grupos:
Directos
• Burbuja
• Selección
• Inserción
Indirectos
(avanzados)
• Shellsort
• Quicksort
• Mergesort
• Radixsort.
Nota: En el caso de listas pequeñas, los
métodos directos se muestran eficientes. Sin
embargo, en conjuntos grandes estos métodos
se muestran ineficaces y es preciso recurrir a los
métodos avanzados.
Los métodos que se analizaran para
ordenación interna son los siguientes:
 Burbuja
 Quicksort
 Shellsort
 Radixsort
ESTRUCTURA DE DATOS
MÉTODO DE ORDENAMIENTO
BURBUJA
ESTRUCTURA DE DATOS
El método de ordenación por burbuja es el más conocido y popular
entre estudiantes y aprendices de programación, por su facilidad de
comprender y programar; por el contrario, es el menos eficiente y por
ello, normalmente, se aprende su técnica pero no suele utilizarse.
La técnica utilizada se denomina ordenación por burbuja u ordenación
por hundimiento debido a que los valores más pequeños “burbujean”
gradualmente (suben) hacia la cima o parte superior del array de
modo similar a como suben las burbujas en el agua, mientras que los
valores mayores se hunden en la parte inferior del array.
ORDENACIÓN POR BURBUJA
ESTRUCTURA DE DATOS
ALGORITMO DE LA BURBUJA
Para un array a con n elementos, la ordenación por burbuja
requiere hasta n – 1 pasadas.
Por cada pasada se comparan elementos adyacentes y se
intercambian sus valores cuando el primer elemento es mayor
que el segundo elemento.
Al final de cada pasada, el elemento mayor ha “burbujeado”
hasta la cima de la sublista actual.
Por ejemplo, después que la pasada 1 está completa, la cola de
la lista a[n – 1] está ordenada y el frente de la lista permanece
desordenado.
ESTRUCTURA DE DATOS
Las etapas del algoritmo son:
• En la pasada 1 se comparan elementos adyacentes.
(a[0],a[1]), (a[1],a[2]), (a[2],a[3]), ... (a[n-2],a[n-1])
• Se realizan n – 1 comparaciones, por cada pareja (a[i],a[i+1]), se
intercambian los valores si a[i+1] < a[i].
• En la pasada 2 se realizan las mismas comparaciones e intercambios,
terminando con el elemento de segundo mayor valor en a[n-2]
• El proceso termina con la pasada n – 1, en la que el elemento más pequeño
se almacena en a[0].
ESTRUCTURA DE DATOS
El algoritmo terminará
cuando se termine la
última pasada (n – 1), o
bien cuando el valor del
interruptor sea falso,
es decir, que no se haya
hecho ningún intercambio.
ESTRUCTURA DE DATOS
Vídeo de Ordenación Burbuja
“Bubble Dance”
ESTRUCTURA DE DATOS
Método de Ordenación Burbuja
Realice el siguiente ejercicio aplicando el método de ordenación Burbuja
Conjunto de 8 elementos:
A [8]= {10, 3, 15, 6, 2, 8, 19, 18}
Debe describir pasada por pasada como se intercambian los elementos del
arreglo hasta lograr tener un arreglo perfectamente ordenado de menor a
mayor
ESTRUCTURA DE DATOS
CODIFICACIÓN DEL
MÉTODO BURBUJA
EN C++
Módulo de ordenamiento
Variables Globales
ESTRUCTURA DE DATOS
MÉTODO DE ORDENAMIENTO
QUICKSORT
ESTRUCTURA DE DATOS
MÉTODO DE ORDENAMIENTO QUICKSORT
• El algoritmo conocido como quicksort (ordenación rápida) es simple, se basa
en la división de la lista en particiones a ordenar, en definitiva aplica la técnica
"divide y vencerás". El método es, posiblemente, el más pequeño de código,
más rápido y eficiente de los algoritmos conocidos de ordenación.
• El algoritmo divide los n elementos de la lista a ordenar en dos partes o
particiones separadas por un elemento: una partición izquierda, un elemento
central denominado pivote, y una partición derecha.
• La partición se hace de tal forma que todos los elementos de la primera
sublista (partición izquierda) son menores que todos los elementos de la
segunda sublista (partición derecha).
• Las dos sublistas se ordenan entonces independientemente.
ESTRUCTURA DE DATOS
EJEMPLO DE QUICKSORT CON UN ARREGLO DE 5 ELEMENTOS
ESTRUCTURA DE DATOS
Vídeo de Ordenación Rápida
Quicksort
ESTRUCTURA DE DATOS
Método de Ordenación Quicksort
Realice el siguiente ejercicio aplicando el método de ordenación Quicksort
Conjunto de 8 elementos:
A [8]= {10, 3, 15, 6, 2, 8, 19}
Debe describir pasada por pasada como se intercambian los elementos del
arreglo hasta lograr tener un arreglo perfectamente ordenado de menor a
mayor
ESTRUCTURA DE DATOS
CODIFICACIÓN DEL
MÉTODO QUICKSORT
EN C++
Módulo de ordenamiento
Método main()
ESTRUCTURA DE DATOS
MÉTODO DE ORDENAMIENTO
SHELLSORT
ESTRUCTURA DE DATOS
MÉTODO DE ORDENAMIENTO SHELLSORT
• La ordenación Shell debe el nombre a su inventor, D. L. Shell. Se suele
denominar también ordenación por inserción con incrementos decrecientes. Se
considera que es una mejora del método de inserción directa.
• En el algoritmo de inserción, cada elemento se compara con los elementos
contiguos de su izquierda, uno tras otro. Si el elemento a insertar es el más
pequeño hay que realizar muchas comparaciones antes de colocarlo en su
lugar definitivo.
• El algoritmo de Shell modifica los saltos contiguos por saltos de mayor tamaño
y con ello consigue que la ordenación sea más rápida. Generalmente, se toma
como salto inicial n / 2 (siendo n el número de elementos), luego en cada
iteración se reduce el salto a la mitad, hasta que el salto es de tamaño 1.
ESTRUCTURA DE DATOS
Ejemplo: Arreglo de 8 elementos
8 2 5 34 67 1
7 1 3 54 68 2
8 2 5 34 67 1Arreglo original
Salto inicial: 8 / 2 = 4
Arreglo resultante
ESTRUCTURA DE DATOS
3 1 5 82 67 4
Arreglo resultante
7 53 8
7 53 8
7 53 8
753 8
24 61
2 4 61
Primera parte Segunda parte
ESTRUCTURA DE DATOS
Salto subsecuente: 8 / 8 = 1
3 1 5 82 67 4
Arreglo resultante
1 2 3 74 85 6
31 5 82 67 4
31 5 82 67 4
31 5 82 67 4
31 5 82 674
31 5 82 674
31 5 82 674
31 5 82 6 74
ESTRUCTURA DE DATOS
Vídeo de Ordenación
Shell
ESTRUCTURA DE DATOS
Método de Ordenación Shellsort
Realice el siguiente ejercicio aplicando el método de ordenación Shellsort
Conjunto de 8 elementos:
A [8]= {10, 3, 15, 6, 2, 8, 19}
Debe describir pasada por pasada como se intercambian los elementos del
arreglo hasta lograr tener un arreglo perfectamente ordenado de menor a
mayor.
ESTRUCTURA DE DATOS
CODIFICACIÓN DEL MÉTODO
SHELLSORT EN C++
ESTRUCTURA DE DATOS
MÉTODO DE ORDENAMIENTO
RADIXSORT
ESTRUCTURA DE DATOS
MÉTODO DE ORDENAMIENTO RADIXSORT
Este método de ordenación es un caso particular del algoritmo de clasificación por
urnas. La manera de ordenar, manualmente, un conjunto de fichas nos da una idea
intuitiva de este método de ordenación:
 Se forman montones de fichas, cada uno caracterizado por tener sus
componentes un mismo dígito en la misma posición.
 Inicialmente se forman los montones por las unidades (dígito de menor peso);
estos montones se recogen y agrupan en orden ascendente, desde el montón del
dígito 0 al montón del dígito 9.
 Entonces, las fichas están ordenadas respecto a las unidades, a continuación, se
vuelve a distribuir las fichas en montones, según el dígito de las decenas.
 El proceso de distribuir las fichas por montones y posterior acumulación en orden
se repite tantas veces como número de dígitos tiene la ficha de mayor valor.
ESTRUCTURA DE DATOS
Suponer que las fichas están identificadas por un campo entero de tres dígitos,
los pasos del algoritmo RadixSort para los siguientes valores:
Atendiendo al dígito de menor peso (unidades) los montones:
ESTRUCTURA DE DATOS
Una vez agrupados los montones en orden ascendente la lista es la siguiente
Esta lista ya está ordenada respecto al dígito de menor peso, respecto a las unidades.
Pues bien, ahora se vuelven a distribuir en montones respecto al segundo dígito
(decenas):
ESTRUCTURA DE DATOS
Una vez agrupados los montones en orden ascendente la lista es la siguiente
Se agrupan los montones en orden ascendente y la lista ya está ordenada
La lista fichas ya está ordenada respecto a los dos últimos dígitos, es decir, respecto a
las decenas. Por último, se vuelven a distribuir en montones respecto al tercer dígito:
ESTRUCTURA DE DATOS
Vídeo de Ordenación Radixsort
o por por “Montones”
ESTRUCTURA DE DATOS
Método de Ordenación Radixsort
Realice el siguiente ejercicio aplicando el método de ordenación Radixsort
Conjunto de 15 elementos:
A [15]= {17, 23, 58, 34, 49, 12, 91, 62, 76, 5, 83, 15, 51, 96, 29}
Debe describir pasada por pasada como se intercambian los elementos del
arreglo hasta lograr tener un arreglo perfectamente ordenado de menor a
mayor
ESTRUCTURA DE DATOS
CODIFICACIÓN DEL MÉTODO RADIXSORT EN C++
ESTRUCTURA DE DATOS
Algoritmos Externos
de Ordenamiento
ESTRUCTURA DE DATOS
Métodos de Ordenación Externa
• La ordenación externa o de archivos, recibe este nombre ya que los elementos
se encuentran almacenados en un archivo de texto o de otro tipo, el cual se
almacena en un dispositivo secundario o externo como lo es un disco duro o
memoria USB.
• Existen varios métodos de ordenación al respecto, los que se abordarán en
esta ocasión son:
 Intercalación o Merge
 Mezcla Directa
 Mezcla Natural
ESTRUCTURA DE DATOS
MÉTODO DE ORDENAMIENTO
INTERCALACIÓN
ESTRUCTURA DE DATOS
Método de Ordenamiento por Intercalación o Merge
Pasos:
• En este método de ordenamiento existen dos archivos con llaves previamente
ordenadas con cualquier otro método de ordenamiento, los cuales se mezclan
para formar un solo archivo.
• La longitud de los archivos puede ser diferente.
• El proceso consiste en leer un registro de cada archivo y compararlos, el menor
es almacenando en el archivo de resultado y el otro se compara con el
siguiente elemento del archivo si existe.
• El proceso se repite hasta que alguno de los archivos quede vacío y los
elementos del otro archivo se almacenan directamente en el archivo
resultado.
ESTRUCTURA DE DATOS
• Ejemplo del método de Intercalación
ESTRUCTURA DE DATOS
503 573 581 625 670 762
87 512 677
j
i
i < j = no; se mueve 87 y se mueve j
87
503 573 581 625 670 762
512 677
j
i
i < j = si; se mueve 503 y se mueve i
503
573 581 625 670 762
512 677
j
i
i < j = no; se mueve 512 y se mueve j
512
573 581 625 670 762
677
j
i
i < j = si; se mueve 573 y se mueve i
573
581 625 670 762
677
j
i
i < j = si; se mueve 581 y se mueve i
581
625 670 762
677
j
i
i < j = si; se mueve 625 y se mueve i
625
670 762
677
j
i
i < j = si; se mueve 670 y se mueve i
762
677
j
i
i < j = no; se mueve 677
677
762
i
El puntero i ya no tiene con quien
compararse por lo que se asume él
y los números subsecuentes están
ordenados y se colocan al final.
762670RESULTADO
ESTRUCTURA DE DATOS
Vídeo de Ordenación por
Intercalación o Merge
ESTRUCTURA DE DATOS
CODIFICACIÓN DEL MÉTODO
INTERCALACIÓN EN C++
ESTRUCTURA DE DATOS
MÉTODO DE ORDENAMIENTO
MEZCLA DIRECTA
ESTRUCTURA DE DATOS
Método de Ordenamiento por Mezcla Directa
• Este método de ordenamiento realiza sucesivamente una partición y una
fusión que produce secuencias ordenadas de longitud cada vez mayor.
• En la primera pasada la partición es de 1 y la fusión produce secuencias de
longitud 2.
• Las particiones y las fusiones doblan su tamaño en cada pasada del
procesamiento hasta lograr una partición del tamaño del archivo.
ESTRUCTURA DE DATOS
Ejemplo Mezcla Directa
09 75 14 68 29 17 31 25
09 14 29 31
75 68 17 25
Arreglo original con 8 elementos
En la primera división se
compara por pares un
elemento de cada arreglo
Comparamos en pares, un
elemento por cada arreglo
Fusión resultante
09 < 75 = SI; se mueve 09 y después 75;
09
14 < 68 = SI; se mueve 14 y después 68;
75 14 68
29 < 17 = NO; se mueve 17 y después 29;
2917
31 < 25 = NO; se mueve 25 y después 31;
3125
Ahora tenemos un nuevo
arreglo fusionado que
sirve como base para la
siguiente división.
En el actual arreglo los
elementos han quedado
agrupados en pares
ordenados
Primera división
ESTRUCTURA DE DATOS
Arreglo de pares
ordenados
09 75 14 68 2917 3125
Ejemplo Mezcla Directa
09 75 14 68
2917 3125
Segunda División
En la segunda división
aumenta al doble el rango
de comparación entre un
arreglo y otro
Comparamos en pares, un
elemento por cada arreglo
de acuerdo al rango
Fusión resultante
09 < 17 = SI; se mueve 09;
Ahora tenemos un
nuevo arreglo
fusionado que sirve
como base para la
siguiente división.
En el actual arreglo los
elementos han
quedado agrupados en
cuartetos ordenados
09
75 < 17 = NO; se mueve 17;
17
75 < 29 = NO; se mueve 29; como es el
último par del bloque se mueve el 75;
29 75
14 < 25 = SI; se mueve 14;
14
68 < 25 = NO; se mueve 25;
68 < 31 = NO; se mueve 31; como es el
último elemento del bloque se mueve 68;
25 31 68
ESTRUCTURA DE DATOS
09 17 29 75 14 25 31 68
Arreglo de pares
ordenados
09 17 29 75
14 25 31 68
Tercera División
En la tercera división
aumenta al doble el rango
de comparación entre un
arreglo y otro respecto a la
segunda división
Ejemplo Mezcla Directa
Comparamos en pares, un
elemento por cada arreglo
de acuerdo al rango
Fusión resultante
09 < 14 = SI; se mueve 09;
El arreglo ha
quedado ordenado
tras concluir la
última división
09
17 < 14 = NO; se mueve 14;
14
29 < 25 = NO; se mueve 25;
17
17 < 25 = SI; se mueve 17;
25
29 < 31 = SI; se mueve 29;
29
75 < 31 = NO; se mueve 31;
31
75 < 68 = NO; se mueve 68; al ser el último
elemento del bloque se mueve 75;
7568
ESTRUCTURA DE DATOS
Vídeo de Ordenación por
Mezcla Directa
ESTRUCTURA DE DATOS
Variables globales
CODIFICACIÓN DEL MÉTODO MEZCLA DIRECTA EN C++
División del arreglo en 2 sublistas
Nota: Este programa está diseñado para
funcionar con una lista de números mínima
de 2 elementos y que aumenta al doble cada
vez (2, 4, 8, 16 elementos, etc.).
ESTRUCTURA DE DATOS
Módulo main
Módulo para
Mezcla directa
ESTRUCTURA DE DATOS
MÉTODO DE ORDENAMIENTO
MEZCLA NATURAL
ESTRUCTURA DE DATOS
MÉTODO DE MEZCLA NATURAL
• Este método, conocido también como mezcla equilibrada, es una optimización
del método de mezcla directa.
• La diferencia es que las particiones se realizan en secuencias ordenadas de
tamaño variable en lugar de secuencias de tamaño fijo.
• La fusión de las secuencias ordenadas se realiza en dos archivos. El proceso
termina cuando el segundo archivo queda vacío en el proceso de fusión-
partición.
ESTRUCTURA DE DATOS
Arreglos Auxiliares
EJEMPLO DEL ALGORITMO DE MEZCLA NATURAL
09 75 14 68 29 17 31 25 04 05 13 18 72 46 61
09 75 29 25 46
72
61
14 68 17 31 04 05 13 18
09 75 29 25 4672 6114 68 17 31 04 05 13 18
A
AX1
AX2
Primera fusión
Partición 1 Partición 2 Partición 3 Partición 4
Este arreglo fusionado sirve
como base para la siguiente
pasada
ESTRUCTURA DE DATOS
Arreglos Auxiliares
EJEMPLO DEL ALGORITMO DE MEZCLA NATURAL
09 75 29 25 4672 6114 68 17 31 04 05 13 18A
AX1
AX2
Segunda fusión
Partición 1 Partición 2
Este arreglo fusionado sirve
como base para la siguiente
pasada
09 7514 68
2917 31
2504 05 13 18 72
46 61
09 14 17 29 31 7568 2504 05 13 18 46 61 72
ESTRUCTURA DE DATOS
Arreglos Auxiliares
EJEMPLO DEL ALGORITMO DE MEZCLA NATURAL
A
AX1
AX2
Tercera fusión
Partición 1
El arreglo esta ordenado por
lo que termina el proceso
09 14 17 29 31 7568 2504 05 13 18 46 61 72
09 14 17 29 31 7568
2504 05 13 18 46 61 72
04 05 09 13 17 18 25 29 31 46 61 68 72 7514
ESTRUCTURA DE DATOS
Vídeo de Ordenación por
Mezcla Natural
ESTRUCTURA DE DATOS
CODIFICACIÓN DEL MÉTODO MEZCLA NATURAL EN C++
Variables Globales Módulo Main
Nota: El algoritmo está diseñado para funcionar con números
positivos, no debe tener números repetidos. El algoritmo funciona
mejor con una lista de números mínima de 2 elementos y que
aumenta al doble cada vez (2, 4, 8, 16, etc.).
ESTRUCTURA DE DATOS
Itsguasave.edu.mxESTRUCTURADEDATOS
Módulo que realiza
la mezcla natural
ESTRUCTURA DE DATOS
Módulo que
calcula las
particiones
Módulo que inicializa los
arreglos auxiliares
Módulo que despliega el
contenido del arreglo
ESTRUCTURA DE DATOS
Módulo que divide
el arreglo original
en dos arreglos
auxiliares
ESTRUCTURA DE DATOS
Bibliografía
• Joyanes, Zahonero. Estructura de Datos en C++. McGraw Hill. Madrid, España.
2007. ISBN: 978-84-481-5645-9.
ESTRUCTURA DE DATOS

Más contenido relacionado

La actualidad más candente

Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
Alvaro Enrique Ruano
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
5.2.1 Intercalación.pptx
5.2.1 Intercalación.pptx5.2.1 Intercalación.pptx
5.2.1 Intercalación.pptx
AngelGabrielTorresGa
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binario
Mariela Cabezas
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
Angel Vázquez Patiño
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
TAtiizz Villalobos
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
Daniel Gomez Jaramillo
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
Kaneki04
 
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
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
Luis Igoodbad
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Rubi Veronica Chimal Cuxin
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbuja
Oscar Mora
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
Angel Vázquez Patiño
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
Robert Rivero
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
SanTy BizZle
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
Lutzo Guzmán
 
Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo
Carlos Criollo
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
DĴäîřo Lêmä
 

La actualidad más candente (20)

Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
5.2.1 Intercalación.pptx
5.2.1 Intercalación.pptx5.2.1 Intercalación.pptx
5.2.1 Intercalación.pptx
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binario
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
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
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbuja
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
 
Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 

Destacado

Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidad
Carlos A. Iglesias
 
Ordenamiento por mezcla
Ordenamiento por mezclaOrdenamiento por mezcla
Ordenamiento por mezclaAndrea Urueña
 
datos de ordenamiento
datos de ordenamientodatos de ordenamiento
Ordenamiento por mezcla
Ordenamiento por mezclaOrdenamiento por mezcla
Ordenamiento por mezclacarmensp
 
Merge Sort
Merge SortMerge Sort
Merge Sort
humbertorayados
 
Algortimos De Ordenamiento
Algortimos De OrdenamientoAlgortimos De Ordenamiento
Algortimos De Ordenamiento
Rolf Pinto
 
Ordenamiento por mezcla
Ordenamiento por mezclaOrdenamiento por mezcla
Ordenamiento por mezclapambele
 
Insercion directa
Insercion directaInsercion directa
Insercion directaabelpit2
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
Lalo Chooper
 
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)Fuerza Auriazul
 

Destacado (10)

Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidad
 
Ordenamiento por mezcla
Ordenamiento por mezclaOrdenamiento por mezcla
Ordenamiento por mezcla
 
datos de ordenamiento
datos de ordenamientodatos de ordenamiento
datos de ordenamiento
 
Ordenamiento por mezcla
Ordenamiento por mezclaOrdenamiento por mezcla
Ordenamiento por mezcla
 
Merge Sort
Merge SortMerge Sort
Merge Sort
 
Algortimos De Ordenamiento
Algortimos De OrdenamientoAlgortimos De Ordenamiento
Algortimos De Ordenamiento
 
Ordenamiento por mezcla
Ordenamiento por mezclaOrdenamiento por mezcla
Ordenamiento por mezcla
 
Insercion directa
Insercion directaInsercion directa
Insercion directa
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
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)
 

Similar a Estructura de Datos Unidad - V: Métodos de Ordenamiento

metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
jorgeulises3
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectoressirekarol
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctoresmishuhot
 
Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1VivianaG
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
OsirysRock
 
1_Metodos.doc
1_Metodos.doc1_Metodos.doc
1_Metodos.doc
PepePerez532562
 
S3-SCBC.pptx
S3-SCBC.pptxS3-SCBC.pptx
Unidad 5
Unidad 5Unidad 5
Unidad 5
Jorge Ake Pech
 
Unidad 5
Unidad 5Unidad 5
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
compumet sac
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodos
K Manuel TN
 
Presentacion recursividad
Presentacion recursividadPresentacion recursividad
Presentacion recursividad
jambslide
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaMaiky Kobatakane
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
IrvingMoran4
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos OrdenamientoDaniel Guaycha
 
Ordenación y búsqueda orientada a C++
Ordenación y búsqueda orientada a C++Ordenación y búsqueda orientada a C++
Ordenación y búsqueda orientada a C++
Carlos Ureña
 
AlgoritmosBusquedasenJAVA09der343485.ppt
AlgoritmosBusquedasenJAVA09der343485.pptAlgoritmosBusquedasenJAVA09der343485.ppt
AlgoritmosBusquedasenJAVA09der343485.ppt
lpaternina2022
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datos
René Sosa Arana
 

Similar a Estructura de Datos Unidad - V: Métodos de Ordenamiento (20)

metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectores
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctores
 
Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
1_Metodos.doc
1_Metodos.doc1_Metodos.doc
1_Metodos.doc
 
S3-SCBC.pptx
S3-SCBC.pptxS3-SCBC.pptx
S3-SCBC.pptx
 
S3-SCBC.pptx
S3-SCBC.pptxS3-SCBC.pptx
S3-SCBC.pptx
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Tema5
Tema5Tema5
Tema5
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodos
 
Presentacion recursividad
Presentacion recursividadPresentacion recursividad
Presentacion recursividad
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos Ordenamiento
 
Ordenación y búsqueda orientada a C++
Ordenación y búsqueda orientada a C++Ordenación y búsqueda orientada a C++
Ordenación y búsqueda orientada a C++
 
AlgoritmosBusquedasenJAVA09der343485.ppt
AlgoritmosBusquedasenJAVA09der343485.pptAlgoritmosBusquedasenJAVA09der343485.ppt
AlgoritmosBusquedasenJAVA09der343485.ppt
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datos
 

Más de José Antonio Sandoval Acosta

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
José Antonio Sandoval Acosta
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
José Antonio Sandoval Acosta
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
José Antonio Sandoval Acosta
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
José Antonio Sandoval Acosta
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
José Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
José Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
José Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
José Antonio Sandoval Acosta
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
José Antonio Sandoval Acosta
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
José Antonio Sandoval Acosta
 
Economia
EconomiaEconomia
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
José Antonio Sandoval Acosta
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
José Antonio Sandoval Acosta
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
José Antonio Sandoval Acosta
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
José Antonio Sandoval Acosta
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
José Antonio Sandoval Acosta
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
José Antonio Sandoval Acosta
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
José Antonio Sandoval Acosta
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
José Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
FRANCISCOJUSTOSIERRA
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
JavierAlejosM
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
JhonatanOQuionesChoq
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
maitecuba2006
 
Edafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden HistosolesEdafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden Histosoles
FacundoPortela1
 
01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas
ivan848686
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
joseabachesoto
 
Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
SamuelHuapalla
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
LuisLobatoingaruca
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
RonaldRozoMora
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
SantosCatalinoOrozco
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
fernanroq11702
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
elvis2000x
 
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptxDesbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
ValGS2
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
Pol Peña Quispe
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
manuelalejandro238
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
ppame8010
 
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
leonpool521
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
DavidHunucoAlbornoz
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
MiriamAquino27
 

Último (20)

TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
 
Edafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden HistosolesEdafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden Histosoles
 
01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
 
Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
 
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptxDesbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
 
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
 

Estructura de Datos Unidad - V: Métodos de Ordenamiento

  • 1. Instituto Tecnológico Superior de Guasave Ingeniería en Sistemas Computacionales Estructura de Datos Unidad V: Métodos de Ordenamiento Retícula ISIC-2010-224: Programa: AED-1026/2016 Itsguasave.edu.mx
  • 2. Competencia de la Unidad • Conoce, comprende y aplica los algoritmos de ordenamiento para el uso adecuado en el desarrollo de aplicaciones que permita solucionar problemas del entorno. ESTRUCTURA DE DATOS
  • 3. INTRODUCCIÓN • Muchas actividades humanas requieren que a diferentes colecciones de elementos utilizados se pongan en un orden específico. Las oficinas de correo y las empresas de mensajería ordenan el correo y los paquetes por códigos postales con el objeto de conseguir una entrega eficiente: Las facturas telefónicas se ordenan por la fecha de las llamadas; Las guías telefónicas se ordenan por orden alfabético de apellidos; Los estudiantes de una clase en la universidad se ordenan por sus apellidos o por los números de expediente. • Por esta circunstancia una de las tareas que realizan más frecuentemente las computadoras en el procesamiento de datos es la ordenación. ESTRUCTURA DE DATOS
  • 5. ORDENACIÓN • La ordenación o clasificación de datos (sort en inglés) es una operación consistente en disponer un conjunto de datos en algún determinado orden con respecto a uno de los campos de los elementos del conjunto. Por ejemplo, cada elemento del conjunto de datos de una guía telefónica tiene un campo nombre, un campo dirección y un campo número de teléfono; • En terminología de ordenación, el elemento por el cual está ordenado un conjunto de datos (o se está buscando) se denomina clave. La guía telefónica está dispuesta en orden alfabético de nombres. Los elementos numéricos se pueden ordenar en orden creciente o decreciente de acuerdo al valor numérico del elemento. ESTRUCTURA DE DATOS
  • 6. • Los métodos (algoritmos) de ordenación son numerosos, por ello se debe prestar especial atención en su elección. • ¿Cómo se sabe cuál es el mejor algoritmo? La eficiencia es el factor que mide la calidad y rendimiento de un algoritmo. • En el caso de la operación de ordenación, dos criterios se suelen seguir a la hora de decidir qué algoritmo; de entre los que resuelven la ordenación es el más eficiente: 1) Tiempo menor de ejecución en computadora; 2) Menor número de instrucciones. ESTRUCTURA DE DATOS
  • 7. Los métodos de ordenación interna se dividen en dos grandes grupos: Directos • Burbuja • Selección • Inserción Indirectos (avanzados) • Shellsort • Quicksort • Mergesort • Radixsort. Nota: En el caso de listas pequeñas, los métodos directos se muestran eficientes. Sin embargo, en conjuntos grandes estos métodos se muestran ineficaces y es preciso recurrir a los métodos avanzados. Los métodos que se analizaran para ordenación interna son los siguientes:  Burbuja  Quicksort  Shellsort  Radixsort ESTRUCTURA DE DATOS
  • 9. El método de ordenación por burbuja es el más conocido y popular entre estudiantes y aprendices de programación, por su facilidad de comprender y programar; por el contrario, es el menos eficiente y por ello, normalmente, se aprende su técnica pero no suele utilizarse. La técnica utilizada se denomina ordenación por burbuja u ordenación por hundimiento debido a que los valores más pequeños “burbujean” gradualmente (suben) hacia la cima o parte superior del array de modo similar a como suben las burbujas en el agua, mientras que los valores mayores se hunden en la parte inferior del array. ORDENACIÓN POR BURBUJA ESTRUCTURA DE DATOS
  • 10. ALGORITMO DE LA BURBUJA Para un array a con n elementos, la ordenación por burbuja requiere hasta n – 1 pasadas. Por cada pasada se comparan elementos adyacentes y se intercambian sus valores cuando el primer elemento es mayor que el segundo elemento. Al final de cada pasada, el elemento mayor ha “burbujeado” hasta la cima de la sublista actual. Por ejemplo, después que la pasada 1 está completa, la cola de la lista a[n – 1] está ordenada y el frente de la lista permanece desordenado. ESTRUCTURA DE DATOS
  • 11. Las etapas del algoritmo son: • En la pasada 1 se comparan elementos adyacentes. (a[0],a[1]), (a[1],a[2]), (a[2],a[3]), ... (a[n-2],a[n-1]) • Se realizan n – 1 comparaciones, por cada pareja (a[i],a[i+1]), se intercambian los valores si a[i+1] < a[i]. • En la pasada 2 se realizan las mismas comparaciones e intercambios, terminando con el elemento de segundo mayor valor en a[n-2] • El proceso termina con la pasada n – 1, en la que el elemento más pequeño se almacena en a[0]. ESTRUCTURA DE DATOS
  • 12. El algoritmo terminará cuando se termine la última pasada (n – 1), o bien cuando el valor del interruptor sea falso, es decir, que no se haya hecho ningún intercambio. ESTRUCTURA DE DATOS
  • 13. Vídeo de Ordenación Burbuja “Bubble Dance” ESTRUCTURA DE DATOS
  • 14. Método de Ordenación Burbuja Realice el siguiente ejercicio aplicando el método de ordenación Burbuja Conjunto de 8 elementos: A [8]= {10, 3, 15, 6, 2, 8, 19, 18} Debe describir pasada por pasada como se intercambian los elementos del arreglo hasta lograr tener un arreglo perfectamente ordenado de menor a mayor ESTRUCTURA DE DATOS
  • 15. CODIFICACIÓN DEL MÉTODO BURBUJA EN C++ Módulo de ordenamiento Variables Globales ESTRUCTURA DE DATOS
  • 17. MÉTODO DE ORDENAMIENTO QUICKSORT • El algoritmo conocido como quicksort (ordenación rápida) es simple, se basa en la división de la lista en particiones a ordenar, en definitiva aplica la técnica "divide y vencerás". El método es, posiblemente, el más pequeño de código, más rápido y eficiente de los algoritmos conocidos de ordenación. • El algoritmo divide los n elementos de la lista a ordenar en dos partes o particiones separadas por un elemento: una partición izquierda, un elemento central denominado pivote, y una partición derecha. • La partición se hace de tal forma que todos los elementos de la primera sublista (partición izquierda) son menores que todos los elementos de la segunda sublista (partición derecha). • Las dos sublistas se ordenan entonces independientemente. ESTRUCTURA DE DATOS
  • 18. EJEMPLO DE QUICKSORT CON UN ARREGLO DE 5 ELEMENTOS ESTRUCTURA DE DATOS
  • 19. Vídeo de Ordenación Rápida Quicksort ESTRUCTURA DE DATOS
  • 20. Método de Ordenación Quicksort Realice el siguiente ejercicio aplicando el método de ordenación Quicksort Conjunto de 8 elementos: A [8]= {10, 3, 15, 6, 2, 8, 19} Debe describir pasada por pasada como se intercambian los elementos del arreglo hasta lograr tener un arreglo perfectamente ordenado de menor a mayor ESTRUCTURA DE DATOS
  • 21. CODIFICACIÓN DEL MÉTODO QUICKSORT EN C++ Módulo de ordenamiento Método main() ESTRUCTURA DE DATOS
  • 23. MÉTODO DE ORDENAMIENTO SHELLSORT • La ordenación Shell debe el nombre a su inventor, D. L. Shell. Se suele denominar también ordenación por inserción con incrementos decrecientes. Se considera que es una mejora del método de inserción directa. • En el algoritmo de inserción, cada elemento se compara con los elementos contiguos de su izquierda, uno tras otro. Si el elemento a insertar es el más pequeño hay que realizar muchas comparaciones antes de colocarlo en su lugar definitivo. • El algoritmo de Shell modifica los saltos contiguos por saltos de mayor tamaño y con ello consigue que la ordenación sea más rápida. Generalmente, se toma como salto inicial n / 2 (siendo n el número de elementos), luego en cada iteración se reduce el salto a la mitad, hasta que el salto es de tamaño 1. ESTRUCTURA DE DATOS
  • 24. Ejemplo: Arreglo de 8 elementos 8 2 5 34 67 1 7 1 3 54 68 2 8 2 5 34 67 1Arreglo original Salto inicial: 8 / 2 = 4 Arreglo resultante ESTRUCTURA DE DATOS
  • 25. 3 1 5 82 67 4 Arreglo resultante 7 53 8 7 53 8 7 53 8 753 8 24 61 2 4 61 Primera parte Segunda parte ESTRUCTURA DE DATOS
  • 26. Salto subsecuente: 8 / 8 = 1 3 1 5 82 67 4 Arreglo resultante 1 2 3 74 85 6 31 5 82 67 4 31 5 82 67 4 31 5 82 67 4 31 5 82 674 31 5 82 674 31 5 82 674 31 5 82 6 74 ESTRUCTURA DE DATOS
  • 28. Método de Ordenación Shellsort Realice el siguiente ejercicio aplicando el método de ordenación Shellsort Conjunto de 8 elementos: A [8]= {10, 3, 15, 6, 2, 8, 19} Debe describir pasada por pasada como se intercambian los elementos del arreglo hasta lograr tener un arreglo perfectamente ordenado de menor a mayor. ESTRUCTURA DE DATOS
  • 29. CODIFICACIÓN DEL MÉTODO SHELLSORT EN C++ ESTRUCTURA DE DATOS
  • 31. MÉTODO DE ORDENAMIENTO RADIXSORT Este método de ordenación es un caso particular del algoritmo de clasificación por urnas. La manera de ordenar, manualmente, un conjunto de fichas nos da una idea intuitiva de este método de ordenación:  Se forman montones de fichas, cada uno caracterizado por tener sus componentes un mismo dígito en la misma posición.  Inicialmente se forman los montones por las unidades (dígito de menor peso); estos montones se recogen y agrupan en orden ascendente, desde el montón del dígito 0 al montón del dígito 9.  Entonces, las fichas están ordenadas respecto a las unidades, a continuación, se vuelve a distribuir las fichas en montones, según el dígito de las decenas.  El proceso de distribuir las fichas por montones y posterior acumulación en orden se repite tantas veces como número de dígitos tiene la ficha de mayor valor. ESTRUCTURA DE DATOS
  • 32. Suponer que las fichas están identificadas por un campo entero de tres dígitos, los pasos del algoritmo RadixSort para los siguientes valores: Atendiendo al dígito de menor peso (unidades) los montones: ESTRUCTURA DE DATOS
  • 33. Una vez agrupados los montones en orden ascendente la lista es la siguiente Esta lista ya está ordenada respecto al dígito de menor peso, respecto a las unidades. Pues bien, ahora se vuelven a distribuir en montones respecto al segundo dígito (decenas): ESTRUCTURA DE DATOS
  • 34. Una vez agrupados los montones en orden ascendente la lista es la siguiente Se agrupan los montones en orden ascendente y la lista ya está ordenada La lista fichas ya está ordenada respecto a los dos últimos dígitos, es decir, respecto a las decenas. Por último, se vuelven a distribuir en montones respecto al tercer dígito: ESTRUCTURA DE DATOS
  • 35. Vídeo de Ordenación Radixsort o por por “Montones” ESTRUCTURA DE DATOS
  • 36. Método de Ordenación Radixsort Realice el siguiente ejercicio aplicando el método de ordenación Radixsort Conjunto de 15 elementos: A [15]= {17, 23, 58, 34, 49, 12, 91, 62, 76, 5, 83, 15, 51, 96, 29} Debe describir pasada por pasada como se intercambian los elementos del arreglo hasta lograr tener un arreglo perfectamente ordenado de menor a mayor ESTRUCTURA DE DATOS
  • 37. CODIFICACIÓN DEL MÉTODO RADIXSORT EN C++ ESTRUCTURA DE DATOS
  • 39. Métodos de Ordenación Externa • La ordenación externa o de archivos, recibe este nombre ya que los elementos se encuentran almacenados en un archivo de texto o de otro tipo, el cual se almacena en un dispositivo secundario o externo como lo es un disco duro o memoria USB. • Existen varios métodos de ordenación al respecto, los que se abordarán en esta ocasión son:  Intercalación o Merge  Mezcla Directa  Mezcla Natural ESTRUCTURA DE DATOS
  • 41. Método de Ordenamiento por Intercalación o Merge Pasos: • En este método de ordenamiento existen dos archivos con llaves previamente ordenadas con cualquier otro método de ordenamiento, los cuales se mezclan para formar un solo archivo. • La longitud de los archivos puede ser diferente. • El proceso consiste en leer un registro de cada archivo y compararlos, el menor es almacenando en el archivo de resultado y el otro se compara con el siguiente elemento del archivo si existe. • El proceso se repite hasta que alguno de los archivos quede vacío y los elementos del otro archivo se almacenan directamente en el archivo resultado. ESTRUCTURA DE DATOS
  • 42. • Ejemplo del método de Intercalación ESTRUCTURA DE DATOS
  • 43. 503 573 581 625 670 762 87 512 677 j i i < j = no; se mueve 87 y se mueve j 87 503 573 581 625 670 762 512 677 j i i < j = si; se mueve 503 y se mueve i 503 573 581 625 670 762 512 677 j i i < j = no; se mueve 512 y se mueve j 512 573 581 625 670 762 677 j i i < j = si; se mueve 573 y se mueve i 573 581 625 670 762 677 j i i < j = si; se mueve 581 y se mueve i 581 625 670 762 677 j i i < j = si; se mueve 625 y se mueve i 625 670 762 677 j i i < j = si; se mueve 670 y se mueve i 762 677 j i i < j = no; se mueve 677 677 762 i El puntero i ya no tiene con quien compararse por lo que se asume él y los números subsecuentes están ordenados y se colocan al final. 762670RESULTADO ESTRUCTURA DE DATOS
  • 44. Vídeo de Ordenación por Intercalación o Merge ESTRUCTURA DE DATOS
  • 45. CODIFICACIÓN DEL MÉTODO INTERCALACIÓN EN C++ ESTRUCTURA DE DATOS
  • 46. MÉTODO DE ORDENAMIENTO MEZCLA DIRECTA ESTRUCTURA DE DATOS
  • 47. Método de Ordenamiento por Mezcla Directa • Este método de ordenamiento realiza sucesivamente una partición y una fusión que produce secuencias ordenadas de longitud cada vez mayor. • En la primera pasada la partición es de 1 y la fusión produce secuencias de longitud 2. • Las particiones y las fusiones doblan su tamaño en cada pasada del procesamiento hasta lograr una partición del tamaño del archivo. ESTRUCTURA DE DATOS
  • 48. Ejemplo Mezcla Directa 09 75 14 68 29 17 31 25 09 14 29 31 75 68 17 25 Arreglo original con 8 elementos En la primera división se compara por pares un elemento de cada arreglo Comparamos en pares, un elemento por cada arreglo Fusión resultante 09 < 75 = SI; se mueve 09 y después 75; 09 14 < 68 = SI; se mueve 14 y después 68; 75 14 68 29 < 17 = NO; se mueve 17 y después 29; 2917 31 < 25 = NO; se mueve 25 y después 31; 3125 Ahora tenemos un nuevo arreglo fusionado que sirve como base para la siguiente división. En el actual arreglo los elementos han quedado agrupados en pares ordenados Primera división ESTRUCTURA DE DATOS
  • 49. Arreglo de pares ordenados 09 75 14 68 2917 3125 Ejemplo Mezcla Directa 09 75 14 68 2917 3125 Segunda División En la segunda división aumenta al doble el rango de comparación entre un arreglo y otro Comparamos en pares, un elemento por cada arreglo de acuerdo al rango Fusión resultante 09 < 17 = SI; se mueve 09; Ahora tenemos un nuevo arreglo fusionado que sirve como base para la siguiente división. En el actual arreglo los elementos han quedado agrupados en cuartetos ordenados 09 75 < 17 = NO; se mueve 17; 17 75 < 29 = NO; se mueve 29; como es el último par del bloque se mueve el 75; 29 75 14 < 25 = SI; se mueve 14; 14 68 < 25 = NO; se mueve 25; 68 < 31 = NO; se mueve 31; como es el último elemento del bloque se mueve 68; 25 31 68 ESTRUCTURA DE DATOS
  • 50. 09 17 29 75 14 25 31 68 Arreglo de pares ordenados 09 17 29 75 14 25 31 68 Tercera División En la tercera división aumenta al doble el rango de comparación entre un arreglo y otro respecto a la segunda división Ejemplo Mezcla Directa Comparamos en pares, un elemento por cada arreglo de acuerdo al rango Fusión resultante 09 < 14 = SI; se mueve 09; El arreglo ha quedado ordenado tras concluir la última división 09 17 < 14 = NO; se mueve 14; 14 29 < 25 = NO; se mueve 25; 17 17 < 25 = SI; se mueve 17; 25 29 < 31 = SI; se mueve 29; 29 75 < 31 = NO; se mueve 31; 31 75 < 68 = NO; se mueve 68; al ser el último elemento del bloque se mueve 75; 7568 ESTRUCTURA DE DATOS
  • 51. Vídeo de Ordenación por Mezcla Directa ESTRUCTURA DE DATOS
  • 52. Variables globales CODIFICACIÓN DEL MÉTODO MEZCLA DIRECTA EN C++ División del arreglo en 2 sublistas Nota: Este programa está diseñado para funcionar con una lista de números mínima de 2 elementos y que aumenta al doble cada vez (2, 4, 8, 16 elementos, etc.). ESTRUCTURA DE DATOS
  • 53. Módulo main Módulo para Mezcla directa ESTRUCTURA DE DATOS
  • 54. MÉTODO DE ORDENAMIENTO MEZCLA NATURAL ESTRUCTURA DE DATOS
  • 55. MÉTODO DE MEZCLA NATURAL • Este método, conocido también como mezcla equilibrada, es una optimización del método de mezcla directa. • La diferencia es que las particiones se realizan en secuencias ordenadas de tamaño variable en lugar de secuencias de tamaño fijo. • La fusión de las secuencias ordenadas se realiza en dos archivos. El proceso termina cuando el segundo archivo queda vacío en el proceso de fusión- partición. ESTRUCTURA DE DATOS
  • 56. Arreglos Auxiliares EJEMPLO DEL ALGORITMO DE MEZCLA NATURAL 09 75 14 68 29 17 31 25 04 05 13 18 72 46 61 09 75 29 25 46 72 61 14 68 17 31 04 05 13 18 09 75 29 25 4672 6114 68 17 31 04 05 13 18 A AX1 AX2 Primera fusión Partición 1 Partición 2 Partición 3 Partición 4 Este arreglo fusionado sirve como base para la siguiente pasada ESTRUCTURA DE DATOS
  • 57. Arreglos Auxiliares EJEMPLO DEL ALGORITMO DE MEZCLA NATURAL 09 75 29 25 4672 6114 68 17 31 04 05 13 18A AX1 AX2 Segunda fusión Partición 1 Partición 2 Este arreglo fusionado sirve como base para la siguiente pasada 09 7514 68 2917 31 2504 05 13 18 72 46 61 09 14 17 29 31 7568 2504 05 13 18 46 61 72 ESTRUCTURA DE DATOS
  • 58. Arreglos Auxiliares EJEMPLO DEL ALGORITMO DE MEZCLA NATURAL A AX1 AX2 Tercera fusión Partición 1 El arreglo esta ordenado por lo que termina el proceso 09 14 17 29 31 7568 2504 05 13 18 46 61 72 09 14 17 29 31 7568 2504 05 13 18 46 61 72 04 05 09 13 17 18 25 29 31 46 61 68 72 7514 ESTRUCTURA DE DATOS
  • 59. Vídeo de Ordenación por Mezcla Natural ESTRUCTURA DE DATOS
  • 60. CODIFICACIÓN DEL MÉTODO MEZCLA NATURAL EN C++ Variables Globales Módulo Main Nota: El algoritmo está diseñado para funcionar con números positivos, no debe tener números repetidos. El algoritmo funciona mejor con una lista de números mínima de 2 elementos y que aumenta al doble cada vez (2, 4, 8, 16, etc.). ESTRUCTURA DE DATOS
  • 61. Itsguasave.edu.mxESTRUCTURADEDATOS Módulo que realiza la mezcla natural ESTRUCTURA DE DATOS
  • 62. Módulo que calcula las particiones Módulo que inicializa los arreglos auxiliares Módulo que despliega el contenido del arreglo ESTRUCTURA DE DATOS
  • 63. Módulo que divide el arreglo original en dos arreglos auxiliares ESTRUCTURA DE DATOS
  • 64. Bibliografía • Joyanes, Zahonero. Estructura de Datos en C++. McGraw Hill. Madrid, España. 2007. ISBN: 978-84-481-5645-9. ESTRUCTURA DE DATOS