metodos de ordenamiento
TRANSCRIPT
![Page 2: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/2.jpg)
Métodos de ordenación.
Ordenación por intercambio. Ordenación por selección. Ordenación por inserción. Ordenación por burbuja.
![Page 3: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/3.jpg)
Ordenación por intercambio
Algoritmo de ordenación mas sencillo. Ordena los elementos de una lista de forma
ascendente. El algoritmo se basa en la lectura sucesiva de la
lista a ordenar, comparando el elemento inferior de la lista con el resto de elementos.
El algoritmo realiza n-1 pasadas.
![Page 4: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/4.jpg)
Algoritmo
public static void ordenacionPorIntercambio(int a[]){for (int i = 0; i <a.length-1; i++) {
for (int j = i+1; j <a.length; j++) {if(a[i]>a[j]){
int aux;aux=a[i];a[i]=a[j];a[j]=aux;
}}
}}
![Page 5: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/5.jpg)
Ordenación por selección
El algoritmo se fundamenta en sucesivas pasadas que intercambian el elemento mas pequeño de la lista a la primera posición de la lista y así sucesivamente.
Su implementación es con dos ciclos anidados.
Es uno de los métodos mas eficientes.
![Page 6: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/6.jpg)
Ordenación por selección
4 3 2 1
a[0] a[1] a[2] a[3]
1 3 2 4
a[0] a[1] a[2] a[3]
1 2 3 4
a[0] a[1] a[2] a[3]
![Page 7: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/7.jpg)
Ordenación por selección
public static void ordenacionPorSeleccion(int a[]){ int i,j,posMenor=0; boolean cambio=false;
for (i = 0; i <a.length-1; i++) {int tmp=a[i];for (j = i+1; j < a.length; j++) {
if(tmp>a[j]){tmp=a[j];posMenor=j;cambio=true;
}}if(cambio==true){
int aux=a[i];a[i]=a[posMenor];a[posMenor]=aux;cambio=false;
}}
}
![Page 8: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/8.jpg)
Ordenación por inserción.
El algoritmo se fundamenta en la inserción de números en la posición mas adecuada de la lista hasta que estos quedan ordenados.
Corre los números de izquierda a derecha.
![Page 9: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/9.jpg)
Ordenación por inserción.
4 3 2 1
a[0] a[1] a[2] a[3]
3 4 2 1
a[0] a[1] a[2] a[3]
2 3 4 1
a[0] a[1] a[2] a[3]
1 2 3 4
a[0] a[1] a[2] a[3]
![Page 10: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/10.jpg)
Ordenación por inserción.
public static void ordenacionPorInsercion(int a[]){int i,j;int aux;for (i = 1; i < a.length; i++) {
j=i;aux=a[i];while(j>0 && aux<a[j-1]){
a[j]=a[j-1];j--;
}a[j]=aux;
}}
![Page 11: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/11.jpg)
Búsqueda en listas.
Búsqueda secuencial. Búsqueda binaria.
![Page 12: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/12.jpg)
Búsqueda secuencial.
El elemento que se busca en la lista se conoce como clave.
La clave se busca elemento por elemento de la lista hasta su primer ocurrencia.
Si se encuentra la clave se retorna la posición donde se encontró, de lo contrario retorna -1.
![Page 13: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/13.jpg)
Búsqueda secuencial.
4 8 3 14 21 90 2 1 65 89 90 2
![Page 14: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/14.jpg)
Búsqueda binaria.
La lista debe ser ordenada. Es una búsqueda mucho mas rápida. El algoritmo parte la lista a la mita. Busca hacia la derecha o izquierda según
le convenga y parte la lista de nuevo hasta encontrar el valor de busqueda.
![Page 15: Metodos de ordenamiento](https://reader038.vdocuments.co/reader038/viewer/2022100602/5581dea6d8b42a75268b4dbb/html5/thumbnails/15.jpg)
Búsqueda binaria.
-8 4 5 9 12 18 25 40
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7]
60
a[8] Bajo=0
Alto=8
Central = (bajo+alto)/2= (0+8)/2=4
18 25 40
a[5] a[6] a[7]
60
a[8]
Central = (bajo+alto)/2= (5+8)/2=6
40
a[7]
60
a[8]
Central = (bajo+alto)/2= (7+8)/2=7