Catálogo de Refactorizaciones M.C. Juan Carlos Olivares Rojas Marzo 2011.
1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.
-
Upload
emelina-pilar -
Category
Documents
-
view
220 -
download
1
Transcript of 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.
![Page 1: 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4331a28abb57c8ff045/html5/thumbnails/1.jpg)
11
Unidad II Aplicaciones Unidad II Aplicaciones con Arreglos en Java y con Arreglos en Java y
C++C++M.C. Juan Carlos Olivares
Rojas
![Page 2: 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4331a28abb57c8ff045/html5/thumbnails/2.jpg)
AgendaAgenda
• 2.2 Métodos Básicos de Ordenamiento en un Arreglo: Burbuja, Inserción y Selección
22
![Page 3: 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4331a28abb57c8ff045/html5/thumbnails/3.jpg)
OrdenamientoOrdenamiento
• Una de las partes más interesantes en los arreglos después de las búsquedas son los ordenamientos.
• Si se tiene un arreglo ordenado las búsquedas se simplifican, el problema es ordenar el arreglo.
33
![Page 4: 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4331a28abb57c8ff045/html5/thumbnails/4.jpg)
OrdenamientoOrdenamiento
• Existen varios métodos de ordenamiento, cada uno con sus respectivas ventajas y desventajas.
• Los métodos tratados son 3: Burbuja, Selección e Inserción, pero existen una gran variedad de algoritmos de ordenamiento: Shell, Heap, Tournament, Quicksort, Mergesort, Radixsort, …
44
![Page 5: 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4331a28abb57c8ff045/html5/thumbnails/5.jpg)
Ordenamiento por BurbujaOrdenamiento por Burbuja• El Bubblesort es quizás el algoritmo más
simple de ordenamiento. Basa su filosofía en cada iteración colocar el elemento más grande o más pequeño (dependiendo del criterio de selección) en la primera posición de tiempo.
• La complejidad del algoritmo es O(n2) en el peor de los casos y de O(n) en el caso promedio.
55
![Page 6: 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4331a28abb57c8ff045/html5/thumbnails/6.jpg)
Ordenamiento por BurbujaOrdenamiento por Burbuja
• La complejidad de un algoritmo determina que tan rápido es el algoritmo. Se expresa generalmente con una función matemática que permite comprender como trabaja un algoritmo.
• La complejidad está medida en tres situaciones: mejor de los casos, caso promedio y en el peor de los casos.
66
![Page 7: 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4331a28abb57c8ff045/html5/thumbnails/7.jpg)
Ordenamiento por InserciónOrdenamiento por Inserción
• Este algoritmo tiene su fundamento en como trabajamos los humanos para ordenar las cosas: nos basamos en cosas ya ordenadas y simplemente las colocamos en su nuevo orden.
• Es parecido cuando ordenamos una carta en un juego de Pocker.
77
![Page 8: 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4331a28abb57c8ff045/html5/thumbnails/8.jpg)
Ordenamiento por InserciónOrdenamiento por Inserción
• Su complejidad también es de O(n2) en el caso promedio.
• Asume a que el algoritmo ya está ordenado, por lo que es útil cuando se agrega un nuevo elemento. ¿Qué se hace cuando se está desordenado?
88
![Page 9: 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4331a28abb57c8ff045/html5/thumbnails/9.jpg)
Ordenamiento por SelecciónOrdenamiento por Selección
• Tiene una complejidad de O(n2).
• Consiste en encontrar el valor máximo o mínimo del arreglo e intercambiarlo en la primera posición, después se realiza el mismo proceso para los n-1 elementos faltantes… se repite el procedimiento hasta terminar con los elementos del arreglo.
99
![Page 10: 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4331a28abb57c8ff045/html5/thumbnails/10.jpg)
Comparativa de Algoritmos de Comparativa de Algoritmos de OrdenamientoOrdenamiento
1010
SelecciónInserción
Burbuja
![Page 11: 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4331a28abb57c8ff045/html5/thumbnails/11.jpg)
Actividad 8Actividad 8
• Carrera de Métodos de Ordenamiento:
• En equipos de tres personas se programarán los tres métodos básicos de ordenamiento (burbuja, inserción y selección). Puntos extras a los algoritmos más rápidos y a los que utilicen otros algoritmos más avanzados. 1111
![Page 12: 1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.](https://reader035.fdocuments.es/reader035/viewer/2022062500/5665b4331a28abb57c8ff045/html5/thumbnails/12.jpg)
1212
¿Preguntas, dudas y ¿Preguntas, dudas y comentarios?comentarios?