Diego Figueroa

Descripción, análisis y tipos de algoritmos.

Archivo para la etiqueta “algoritmo”

Algoritmos de Ordenamiento

Los algoritmos de ordenamiento, como su nombre lo indica, son aquellos destinados al ordenamiento de los elementos de un vector, según a lo solicitado mediante las intrucciones del algoritmo utilizado y que comúnmente corresponden a un orden numérico o lexicográfico.

Ordenamiento Búrbuja (Bubblesort): Toma un valor del vector que se quiere ordenar y se compara con el siguiente, y en caso de que no estén ordenados, prosigue realizando comparaciones hasta que ese valor quede como se solicita. Continuará así hasta que el último elemento del vector quede ordenado.
Su orden de complejidad es de O(n²).

Ordenamiento de Búrbuja Bidireccional (Cocktail sort): Al igual que el método búrbuja, la forma de realizar las comparaciones es la misma, pero en éste las comprobaciones se realizan de ida y vuelta, ordenando los valores en ambos extremos del vector hasta que quede organizados de la manera solicitada. Realiza menos comparaciones que el metodo búrbuja, pero su orden de complejidad es el mismo: O(n²).

Ordenamiento por Selección (Selection Sort): Recorre el vector realizando comparaciones hasta encontrar el valor mínimo y lo intercambia con el valor de la primera posición, para luego proseguir con el siguiente mínimo para la segunda posición hasta ordenar el vector por completo.
Su orden de complejidad es de O(n²).


Ordenamiento por selección

Ordenamiento por Inserción (Insertion sort): Se inicia con un elemento en un vector y uno por uno se van incorporando más valores que se comparan con los elementos ya ordenados. Todos los valores mayores se desplazan una posición a la derecha cada vez que el valor ingresado sea menor o cuando éste llegue al comienzo del vector.
Su orden de complejidad es de O(n²).

Ordenamiento por Mezcla (Merge sort): Se divide la lista de valores en 2 sublistas, por la mitad idealmente (éstas a la vez pueden subdividirse en listas mas pequeñas) y luego se ordenan. Con las sublistas ordenadas, ambas se mezclan y se comparan para crear una sola lista con todos los valores ordenada.
Su orden de complejidad es de O(n log n).

Ordenamiento rápido (Quicksort): Se basa en tomar un valor de la lista, llamado pivote, y ordenar el resto de los valores a ambos lados de él, si son mayores a la derecha y si son menores a la izquierda, creando dos sublistas. Luego continúa con el mismo procedimiento en las sublistas hasta que todo quede ordenado.
Su orden de complejidad es de O(n log n).

Heapsort:
Shellsort:

Navegador de artículos