Operaciones con Vectores (tercera parte)

Continuando con esta serie de posts, en esta oportunidad la temática a tratar será el Ordenamiento de los elementos que contiene un Vector, pero ¿de qué trata el ordenamiento? Este algoritmo consiste en organizar los elementos de manera que sigan un orden específico, generalmente en forma ascendente o descendente. Este proceso es demasiado útil en la programación porque facilita las búsquedas y el análisis de datos de manera tal que todo sea más eficiente. Hay varios algoritmos de ordenamiento, los más conocidos son el ordenamiento por selección y el ordenamiento por burbuja

Metodo de Ordenamiento por Selección: este algoritmo selecciona repetidamente el elemento más pequeño (o más grande) y los coloca en la posición correspondiente, podría decirse que durante el ordenamiento divide el vector en dos partes, la parte ordenada al principio que contiene los elementos ya en orden y luego la parte no ordenada, que contiene los elementos que aún no han sido colocados en el lugar que les corresponde, por ejemplo: 

Imagina que tienes una fila desordenada de 5 números: [5, 3, 8, 6, 2]. En cada pasada del algoritmo, buscas el número más pequeño de la parte no ordenada y lo mueves a su lugar.

  • Primera pasada: El menor es 2, se coloca al principio del vector: [2, 3, 8, 6, 5]
  • Segunda pasada: El menor es 3, pero como ya se encuentra en el lugar que le corresponde, queda en donde está: [2, 3, 8, 6, 5]
  • Tercera pasada: El menor de lo que queda es 5, se intercambia con el 8 y el vector ordenado resultante es: [2, 3, 5, 6, 8]
En diagrama de flujo es representado de la siguiente manera: 

Metodo de Ordenamiento por Burbuja: en este algoritmo se comparan e intercambian los elementos adyacentes siempre y cuando estén en el orden incorrecto. El elemento mayor (o menor) sube como una "burbuja" hacia la posición correcta en cada pasada, luego de cada iteración, el siguiente elemento mayor quedará en el lugar que le corresponde, este procesos se repite hasta que no haya intercambios, por ejemplo: 

Vector desordenado:[5, 3, 8, 6, 2]

  1. Primera pasada:

    • Comparo 5 y 3 → Intercambio →[3, 5, 8, 6, 2]
    • Comparo 5 y 8 → No cambio.
    • Comparo 8 y 6 → Intercambio →[3, 5, 6, 8, 2]
    • Comparo 8 y 2 → Intercambio →[3, 5, 6, 2, 8]
  2. Segunda pasada:

    • Comparo 3 y 5 → No cambio.
    • Comparo 5 y 6 → No cambio.
    • Comparo 6 y 2 → Intercambio →[3, 5, 2, 6, 8]
  3. Tercera pasada:

    • Comparo 3 y 5 → No cambio.
    • Comparo 5 y 2 → Intercambio →[3, 2, 5, 6, 8]
  4. Cuarta pasada:

    • Comparo 3 y 2 → Intercambio →[2, 3, 5, 6, 8]

Vector ordenado resultante es : [2, 3, 5, 6, 8]

El diagrama de este método de ordenamiento es el siguiente:


Hasta aquí llegaremos en este post, espero que se haya comprendido el contenido, hasta la próxima.



Comentarios

Entradas más populares de este blog

Nociones Básicas

¿Que es un vector?