TIPOS DE METODOS ELEMENTALES
Los métodos elementales son enfoques simples y directos para organizar elementos en una secuencia en un orden específico. Estos métodos son esenciales para comprender los conceptos fundamentales de la ordenación y son una base importante para métodos más avanzados.
Método de Ordenamiento Burbuja:
Este método se caracteriza por la forma tan peculiar de trabajar que tiene, ya que este ordena por medio de comparar parejas de números para acomodarlos en el orden correcto, esto lo hace hasta que toda la estructura esta ordenada de manera ascendente o descendente según lo pida el usuario. A continuación, presentaremos un ejemplo en python:
def ordenamientoBurbuja(unaLista):
for numPasada in range(len(unaLista)-1,0,-1):
for i in range(numPasada):
if unaLista[i]>unaLista[i+1]:
temp = unaLista[i]
unaLista[i] = unaLista[i+1]
unaLista[i+1] = temp
unaLista = [54,26,93,17,77,31,44,55,20]
ordenamientoBurbuja(unaLista)
print(unaLista)
En esta imagen podemos observar a un arreglo de seis números los cuales no están organizados, por lo cual nosotros lo organizaremos por medio del método burbuja de menor a mayor.
El método burbuja
lo que hará será comparar los dos primeros datos para ver si el primero es
mayor al segundo y si esto sucede este tomara la posición del número dos y el
segundo dato tomara la posición del número uno y esto sucederá de manera
consecutiva hasta que el número mayor quede acomodado en su lugar.
Al terminar el
primer recorrido el programa lo que hará es volver a repetirlo hasta que todo
quede en orden y cómo podemos ver en la siguiente imagen solo basto con un
recorrido para poder acomodar todo nuestro arreglo, pero en caso de que no sea
así el programa seguirá hasta poder quedar completamente ordenado.
Método de Ordenamiento Inserción:
El método de ordenamiento por inserción es
un algoritmo que recorre un arreglo de elementos y, en cada paso, inserta el
elemento actual en su posición correcta dentro de la porción ya ordenada del
arreglo. A continuación, adjuntaremos imagen de un ejemplo básico en código Python:
def mostrarLista(lista, lon):
listaordenada=""
for i in range(0,lon):
listaordenada+=str(lista[i])+" "
print(listaordenada)
arreglo = [5,2,4,1,3];
#Recorrer el arreglo
for i in range(1,len(arreglo)):
clave = arreglo[i]
j = i-1
#Comparar el valor seleccionado con todos los valores anteriores
while (j>=0 and arreglo[j] > clave):
#Insertar el valor donde corresponda
arreglo[j+1] = arreglo[j]
j = j-1
arreglo[j+1] = clave
mostrarLista(arreglo, len(arreglo))
mostrarLista(arreglo, len(arreglo))
Ejemplo:
En la siguiente imagen podemos observar un arreglo de seis números
que esta desordenado, por lo que nosotros usando el método de ordenamiento por
inserción ordenaremos este arreglo de seis números y lo haremos de menor a
mayor.
Con el método por inserción lo que haremos
será es el comparar el elemento actual del arreglo para poder lograr insertarlo
en su posición correcta, como se puede apreciar en la anterior imagen el 6 esta
antes que el 5 entonces lo que hará nuestro método es el comparar primero el 6
y después el 5 para darse cuenta de que este debe de estar antes que el 6 para
poder estar en su correcta posición.
Con este ya aprendido lo único que nos
queda es esperar a que el algoritmo termine su trabajo lo cual es comparar el
elemento actual para lograr insertarlo en el lugar que le corresponde, lo cual
podremos apreciar en la siguiente imagen.
De esta forma logramos ordenar nuestro
arreglo de la manera que queríamos que sería de menor a mayor.
El método de ordenamiento por selección es un método por el cual la estructura será dividida en dos partes, una con la parte ordenada y la otra con la parte que aún no está ordenada, a lo largo del ciclo se irán comparando cada dato no ordenado de la estructura y lo ira intercambiando con el primer dato de la porción no ordenada, hasta generar una estructura completamente ordenada de manera ascendente o descendente según lo requiera el usuario.
Código Python.
def ord_seleccion(arreglo):
for i in range(len(arreglo) - 1): # <-- bucle padre
menor = i # primer elemento por default será el mínimo
for j in range(i + 1, len(arreglo)): # <-- bucle hijo
if arreglo[j] < arreglo[menor]:
menor = j
if menor != i:
arreglo[menor], arreglo[i] = arreglo[i], arreglo[menor]
a = [22, 25, 12, 64, 11]
ord_seleccion(a)
print(a)
A continuación se presentara un ejemplo debidamente explicado para mayor comprensión al tema.
Ejemplo:
En la
siguiente imagen podemos observar un arreglo de seis números lo cuales están
desordenados por lo cual nosotros por medio del método de selección lo
ordenaremos de menor a mayor.
El método
de selección lo que hará es separar nuestro arreglo en dos grupos uno con los
números ya ordenados y el otro con los que aun no lo estén y esto lo hará
comparando cada número hasta poder obtener el numero mas pequeño del arreglo y
acomodarlo en su lugar que sería el primer lugar dentro del arreglo y de esta
manera seguirá haciéndolo hasta ordenar el arreglo de la forma en que lo
pedimos.
Como se
pudo observar en la anterior imagen nuestro algoritmo recorrió el arreglo
varias veces para poder acomodarlo y de esta forma darnos un arreglo
completamente ordenado de la forma en que se lo pedimos.










Comentarios
Publicar un comentario