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)









A continuación se presentara un ejemplo debidamente explicado para mayor comprensión al tema.

Ejemplo:

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))




 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 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.


Método De Ordenamiento Selección:

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