SlideShare una empresa de Scribd logo
1 de 7
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015
1
METODOS DE ORDENAMIENTO
FACULTAD DE INGENIERIA DE
SISTEMAS E INFORMATICA
INTEGRANTES:
 William Inocencio Romero 14200091
 Diego Max López Torres 14200020
 Irma Ferrer Anaya 14200133
 Miguel De La Cruz Acuña 14200080
 Alexandra Jara Coavoy 14200168
 Oncoy Corsino Yunior Efrain 14200105
PROFESOR: Santiago Moquillaza Henríquez
CICLO: 2015-I
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
Decana de América, Fundada en 1551
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015
2
INTRODUCCION
Los algoritmos de ordenamiento nos permiten, como su nombre lo dice,
ordenar. En este caso, nos servirán para ordenar vectores o matrices con
valores asignados aleatoriamente. Nos centraremos en los métodos más
conocidos, analizando la cantidad de comparaciones que suceden, el tiempo
que demora y revisando el código, escrito en Java, de cada algoritmo.
Este informe nos permitirá conocer más a fondo cada método distinto de
ordenamiento, desde uno simple hasta el más complejo. Se realizaran
comparaciones en tiempo de ejecución.
EL ALGORITMO
Explicación del algoritmo
El algoritmo
Complejidad del algoritmo
La complejidad
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015
3
CONCLUSIONES
Método de ordenamiento por selección:
Su funcionamiento es el siguiente:
 Buscar el mínimo elemento de la lista
 Intercambiarlo con el primero
 Buscar el siguiente mínimo en el resto de la lista
 Intercambiarlo con el segundo
Y en general:
 Buscar el mínimo elemento entre una posición i y el final de la
lista
 Intercambiar el mínimo con el elemento de la posición i
Complejidad:
Este algoritmo mejora ligeramente el algoritmo de la burbuja. En el
caso de tener que ordenar un vector de enteros, esta mejora no es
muy sustancial, pero cuando hay que ordenar un vector de estructuras
más complejas, la operación intercambiar () sería más costosa en
este caso. Este algoritmo realiza muchas menos
operaciones intercambiar () que el de la burbuja, por lo que lo
mejora en algo. Si una de las líneas se sustituyera por intercambiar
(lista[i], lista[j]) tendríamos una versión del algoritmo de la
burbuja (naturalmente eliminando el orden intercambiar del final).
Conclusiones:
Respecto a otros como el de burbuja o de inserción directa es que no
mejora su rendimiento cuando los datos ya están ordenados o
parcialmente ordenados. Así como, por ejemplo, en el caso de la
ordenación de burbuja se requeriría una única pasada para detectar
que el vector ya está ordenado y finalizar, en la ordenación por
selección se realizarían el mismo número de pasadas
independientemente de si los datos están ordenados o no.
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015
4
Método de ordenamiento por burbuja:
Funciona revisando cada elemento de la lista que va a ser ordenada
con el siguiente, intercambiándolos de posición si están en el orden
equivocado. Es necesario revisar varias veces toda la lista hasta
que no se necesiten más intercambios, lo cual significa que la lista
está ordenada.
Complejidad:
El ordenamiento de burbuja tiene una complejidad Ω(n²) igual que
ordenamiento por selección. Cuando una lista ya está ordenada, a
diferencia del ordenamiento por inserción que pasará por la lista
una vez y encontrará que no hay necesidad de intercambiar las
posiciones de los elementos, el método de ordenación por burbuja
está forzado a pasar por dichas comparaciones, lo que hace que su
complejidad sea cuadrática en el mejor de los casos. Esto lo cataloga
como el algoritmo más ineficiente que existe, aunque para muchos
programadores sea el más sencillo de implementar.
Conclusiones:
Puede verse que el número de repeticiones solo depende de n (términos
del vector) y no del orden de los términos, esto es, si pasamos al
algoritmo una lista ya ordenada, realizará todas las comparaciones
exactamente igual que para una lista no ordenada. Esta es una
característica de este algoritmo.
Método de ordenamiento por Shell:
Complejidad:
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015
5
El algoritmo de Shell modifica los saltos contiguos resultantes de
las comparaciones por saltos de mayor tamaño y con ello se 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 se reduce el
salto a la mitad en cada repetición hasta que el salto es de tamaño
1.
Conclusiones:
El Shell sort es una generalización del ordenamiento por inserción,
teniendo en cuenta dos observaciones:
 El ordenamiento por inserción es eficiente si la entrada está
“casi ordenada”.
 El ordenamiento por inserción es ineficiente, en general,
porque mueve los valores solamente una posición cada vez.
El algoritmo Shell sort mejora el ordenamiento por inserción
comparando elementos separados por un espacio de varias posiciones.
Esto permite que un elemento haga “pasos más grandes” hacia su
posición esperada. Los pasos múltiples sobre los datos se hacen con
tamaños de espacio cada vez más pequeños. El último paso del Shell
sort es un simple ordenamiento por inserción, pero para entonces, ya
está garantizado que los datos del vector están casi ordenado.
Método de ordenamiento por inserción:
Complejidad:
Este algoritmo es estable en su ordenación interna. Tiene como
complejidad en el peor de los casos de O(n2) y en el mejor de los
casos en O(n) esto se da en el caso que el array esté ordenado.
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015
6
Conclusión:
Consiste en ordenar los elementos de una array en que sus elementos
pueden estar ordenados y repetidos. Este método en lo que se basa
principalmente es en hacer sucesivas comparaciones, definiendo con
anterioridad el criterio de comparación.
El algoritmo de este ordenamiento es relativamente sencillo y se
adapta de buena manera en gran cantidad de situaciones en la vida
real, por ejemplo: ordenar carpetas o una mano de naipes en el póker.
Método ordenamiento por Quicksort
Complejidad:
Es el algoritmo de ordenación más rápido conocido su tiempo de
ejecución en promedio es de O(N Log(N)) y en el peor de los casos se
tarda O (N2). En su práctica, el hecho por el cual es el más rápido
que los demás métodos de ordenación está dado por un ciclo interno
en el cual cuenta con muy pocas operaciones.
Conclusión:
Luego de analizarse el método se puede ver que es uno de los mejores
métodos de ordenación, a pesar no ser tan sencilla (tampoco es tan
complicada) es un algoritmo con una estructura elegante y con buena
eficiencia. Con este método queda claro que en muchas ocasiones es
mejor dividir para un óptimo desarrollo.
Método de ordenamiento Mezcla ( MergeSort):
La idea de este ordenamiento es dividir la lista a mitad de tamaño
y luego tener otras sub-listas que haremos el mismo proceso y así
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015
7
sucesivamente hasta llegar partes iguales de la lista de números
para luego mezclarlos, compararlos y ordenarlos.
Complejidad:
Este ordenamiento es conocido por su tiempo de ejecución de
O(nlog(n)) en cualquiera de los casos (medio, mejor o peor). La
aplicación de este ordenamiento tiene mejor rendimiento que los demás
(Quicksort, selección, etc.), aparte que usa más espacio de memoria.
Conclusión:
Es un ordenamiento de mayor eficiencia, pero que ocupa más espacio
de memoria y a la vez demora el tiempo de ejecución que los otros
ordenamientos mencionados. También demostró un mejor rendimiento en
máquinas que se benefician de la optimización caché.

Más contenido relacionado

La actualidad más candente

Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
Cristopher Morales Ruiz
 
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
linkinpark03
 

La actualidad más candente (20)

Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Recursividad
RecursividadRecursividad
Recursividad
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Metodo burbuja
Metodo burbujaMetodo burbuja
Metodo burbuja
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
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
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Listas
ListasListas
Listas
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datos
 
Estructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafosEstructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafos
 
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
 

Destacado

Bauer Media Research (Task 7)
Bauer Media Research (Task 7)Bauer Media Research (Task 7)
Bauer Media Research (Task 7)
bymckee
 
30 Lieder De F. Schubert
30 Lieder De F. Schubert30 Lieder De F. Schubert
30 Lieder De F. Schubert
HOME
 
Romanian Aeronautical Association 2015ok
Romanian Aeronautical Association 2015okRomanian Aeronautical Association 2015ok
Romanian Aeronautical Association 2015ok
dianaveronica
 
Meet You There Mobile Application
Meet You There Mobile ApplicationMeet You There Mobile Application
Meet You There Mobile Application
Niels Tempelaars
 

Destacado (14)

Bauer Media Research (Task 7)
Bauer Media Research (Task 7)Bauer Media Research (Task 7)
Bauer Media Research (Task 7)
 
Case We Make Fashion
Case We Make FashionCase We Make Fashion
Case We Make Fashion
 
Racismo
RacismoRacismo
Racismo
 
Chicago al pino de la cruz
Chicago al pino  de  la  cruzChicago al pino  de  la  cruz
Chicago al pino de la cruz
 
Sustentabilidade
SustentabilidadeSustentabilidade
Sustentabilidade
 
Recre 1 y numancia 0 incidencias 2010
Recre   1  y    numancia  0  incidencias 2010Recre   1  y    numancia  0  incidencias 2010
Recre 1 y numancia 0 incidencias 2010
 
30 Lieder De F. Schubert
30 Lieder De F. Schubert30 Lieder De F. Schubert
30 Lieder De F. Schubert
 
Romanian Aeronautical Association 2015ok
Romanian Aeronautical Association 2015okRomanian Aeronautical Association 2015ok
Romanian Aeronautical Association 2015ok
 
Jairo Bonfim & Amigos
Jairo Bonfim & AmigosJairo Bonfim & Amigos
Jairo Bonfim & Amigos
 
26 aniversario de boda de vicente y trini
26    aniversario    de  boda    de    vicente  y  trini26    aniversario    de  boda    de    vicente  y  trini
26 aniversario de boda de vicente y trini
 
Meet You There Mobile Application
Meet You There Mobile ApplicationMeet You There Mobile Application
Meet You There Mobile Application
 
2016 petro bowl_rules_regulations
2016 petro bowl_rules_regulations2016 petro bowl_rules_regulations
2016 petro bowl_rules_regulations
 
Kingston Kings Villa Brochure - Zricks.com
Kingston Kings Villa Brochure - Zricks.comKingston Kings Villa Brochure - Zricks.com
Kingston Kings Villa Brochure - Zricks.com
 
Las claves para entender el Inbound Marketing
Las claves para entender el Inbound MarketingLas claves para entender el Inbound Marketing
Las claves para entender el Inbound Marketing
 

Similar a Metodos de-ordenamiento (20)

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
 
1_Metodos.doc
1_Metodos.doc1_Metodos.doc
1_Metodos.doc
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamiento
 
Bus99
Bus99Bus99
Bus99
 
Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1
 
Presentacion
PresentacionPresentacion
Presentacion
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
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++
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
 
datos de ordenamiento
datos de ordenamientodatos de ordenamiento
datos de ordenamiento
 
array
arrayarray
array
 
Algebra junior rico2
Algebra junior rico2Algebra junior rico2
Algebra junior rico2
 
Algebra morelys lugo2
Algebra morelys lugo2Algebra morelys lugo2
Algebra morelys lugo2
 
Modulo estructura de_datos_2014
Modulo estructura de_datos_2014Modulo estructura de_datos_2014
Modulo estructura de_datos_2014
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Eduardo jimenez
Eduardo jimenezEduardo jimenez
Eduardo jimenez
 
Ordenamiento shell
Ordenamiento shellOrdenamiento shell
Ordenamiento shell
 

Último

analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
Ricardo705519
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
EdwinC23
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
evercoyla
 

Último (20)

APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Suelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramientoSuelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramiento
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.pptELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.ppt
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 

Metodos de-ordenamiento

  • 1. UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015 1 METODOS DE ORDENAMIENTO FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA INTEGRANTES:  William Inocencio Romero 14200091  Diego Max López Torres 14200020  Irma Ferrer Anaya 14200133  Miguel De La Cruz Acuña 14200080  Alexandra Jara Coavoy 14200168  Oncoy Corsino Yunior Efrain 14200105 PROFESOR: Santiago Moquillaza Henríquez CICLO: 2015-I UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Decana de América, Fundada en 1551
  • 2. UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015 2 INTRODUCCION Los algoritmos de ordenamiento nos permiten, como su nombre lo dice, ordenar. En este caso, nos servirán para ordenar vectores o matrices con valores asignados aleatoriamente. Nos centraremos en los métodos más conocidos, analizando la cantidad de comparaciones que suceden, el tiempo que demora y revisando el código, escrito en Java, de cada algoritmo. Este informe nos permitirá conocer más a fondo cada método distinto de ordenamiento, desde uno simple hasta el más complejo. Se realizaran comparaciones en tiempo de ejecución. EL ALGORITMO Explicación del algoritmo El algoritmo Complejidad del algoritmo La complejidad
  • 3. UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015 3 CONCLUSIONES Método de ordenamiento por selección: Su funcionamiento es el siguiente:  Buscar el mínimo elemento de la lista  Intercambiarlo con el primero  Buscar el siguiente mínimo en el resto de la lista  Intercambiarlo con el segundo Y en general:  Buscar el mínimo elemento entre una posición i y el final de la lista  Intercambiar el mínimo con el elemento de la posición i Complejidad: Este algoritmo mejora ligeramente el algoritmo de la burbuja. En el caso de tener que ordenar un vector de enteros, esta mejora no es muy sustancial, pero cuando hay que ordenar un vector de estructuras más complejas, la operación intercambiar () sería más costosa en este caso. Este algoritmo realiza muchas menos operaciones intercambiar () que el de la burbuja, por lo que lo mejora en algo. Si una de las líneas se sustituyera por intercambiar (lista[i], lista[j]) tendríamos una versión del algoritmo de la burbuja (naturalmente eliminando el orden intercambiar del final). Conclusiones: Respecto a otros como el de burbuja o de inserción directa es que no mejora su rendimiento cuando los datos ya están ordenados o parcialmente ordenados. Así como, por ejemplo, en el caso de la ordenación de burbuja se requeriría una única pasada para detectar que el vector ya está ordenado y finalizar, en la ordenación por selección se realizarían el mismo número de pasadas independientemente de si los datos están ordenados o no.
  • 4. UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015 4 Método de ordenamiento por burbuja: Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Complejidad: El ordenamiento de burbuja tiene una complejidad Ω(n²) igual que ordenamiento por selección. Cuando una lista ya está ordenada, a diferencia del ordenamiento por inserción que pasará por la lista una vez y encontrará que no hay necesidad de intercambiar las posiciones de los elementos, el método de ordenación por burbuja está forzado a pasar por dichas comparaciones, lo que hace que su complejidad sea cuadrática en el mejor de los casos. Esto lo cataloga como el algoritmo más ineficiente que existe, aunque para muchos programadores sea el más sencillo de implementar. Conclusiones: Puede verse que el número de repeticiones solo depende de n (términos del vector) y no del orden de los términos, esto es, si pasamos al algoritmo una lista ya ordenada, realizará todas las comparaciones exactamente igual que para una lista no ordenada. Esta es una característica de este algoritmo. Método de ordenamiento por Shell: Complejidad:
  • 5. UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015 5 El algoritmo de Shell modifica los saltos contiguos resultantes de las comparaciones por saltos de mayor tamaño y con ello se 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 se reduce el salto a la mitad en cada repetición hasta que el salto es de tamaño 1. Conclusiones: El Shell sort es una generalización del ordenamiento por inserción, teniendo en cuenta dos observaciones:  El ordenamiento por inserción es eficiente si la entrada está “casi ordenada”.  El ordenamiento por inserción es ineficiente, en general, porque mueve los valores solamente una posición cada vez. El algoritmo Shell sort mejora el ordenamiento por inserción comparando elementos separados por un espacio de varias posiciones. Esto permite que un elemento haga “pasos más grandes” hacia su posición esperada. Los pasos múltiples sobre los datos se hacen con tamaños de espacio cada vez más pequeños. El último paso del Shell sort es un simple ordenamiento por inserción, pero para entonces, ya está garantizado que los datos del vector están casi ordenado. Método de ordenamiento por inserción: Complejidad: Este algoritmo es estable en su ordenación interna. Tiene como complejidad en el peor de los casos de O(n2) y en el mejor de los casos en O(n) esto se da en el caso que el array esté ordenado.
  • 6. UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015 6 Conclusión: Consiste en ordenar los elementos de una array en que sus elementos pueden estar ordenados y repetidos. Este método en lo que se basa principalmente es en hacer sucesivas comparaciones, definiendo con anterioridad el criterio de comparación. El algoritmo de este ordenamiento es relativamente sencillo y se adapta de buena manera en gran cantidad de situaciones en la vida real, por ejemplo: ordenar carpetas o una mano de naipes en el póker. Método ordenamiento por Quicksort Complejidad: Es el algoritmo de ordenación más rápido conocido su tiempo de ejecución en promedio es de O(N Log(N)) y en el peor de los casos se tarda O (N2). En su práctica, el hecho por el cual es el más rápido que los demás métodos de ordenación está dado por un ciclo interno en el cual cuenta con muy pocas operaciones. Conclusión: Luego de analizarse el método se puede ver que es uno de los mejores métodos de ordenación, a pesar no ser tan sencilla (tampoco es tan complicada) es un algoritmo con una estructura elegante y con buena eficiencia. Con este método queda claro que en muchas ocasiones es mejor dividir para un óptimo desarrollo. Método de ordenamiento Mezcla ( MergeSort): La idea de este ordenamiento es dividir la lista a mitad de tamaño y luego tener otras sub-listas que haremos el mismo proceso y así
  • 7. UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS JULIO 2015 7 sucesivamente hasta llegar partes iguales de la lista de números para luego mezclarlos, compararlos y ordenarlos. Complejidad: Este ordenamiento es conocido por su tiempo de ejecución de O(nlog(n)) en cualquiera de los casos (medio, mejor o peor). La aplicación de este ordenamiento tiene mejor rendimiento que los demás (Quicksort, selección, etc.), aparte que usa más espacio de memoria. Conclusión: Es un ordenamiento de mayor eficiencia, pero que ocupa más espacio de memoria y a la vez demora el tiempo de ejecución que los otros ordenamientos mencionados. También demostró un mejor rendimiento en máquinas que se benefician de la optimización caché.