ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Algoritmos de Ordenación Básica


Enviado por   •  11 de Marzo de 2017  •  Resúmenes  •  1.871 Palabras (8 Páginas)  •  304 Visitas

Página 1 de 8

Algoritmos de Ordenación Básica

  • Introducción a Ordenación 
  • Ordenación por Selección 

Introducción a Ordenación

Existen muchos algoritmos de ordenación básica diferentes. Cada uno de estos algoritmos tiene características, comportamiento y requerimientos únicos. Por ejemplo, para el mismo conjunto de datos, un algoritmo puede desarrollar menos comparaciones que otro algoritmo. De forma similar, durante la ejecución otro algoritmo puede intercambiar las posiciones de los elementos de los datos con menos frecuencia que otro algoritmo. El comportamiento de algunos algoritmos difiere cuando se les presentan datos que están casi ordenados, a cuando se les presentan datos que están completamente desordenados. Son estas diferencias entre el conjunto de estas propiedades las que hacen a cada algoritmo de ordenación único. Estas características también hacen un algoritmo más o menos aplicable en ciertas situaciones.

Ordenación por Selección

Ordenación por selección (selection sort) es un algoritmo de ordenación básica que trabaja haciendo iteraciones, o pasos (movimientos), entre los datos que están siendo ordenados. Cada paso resulta en la colocación de un elemento en el lugar correcto. Como resultado, cada paso subsiguiente tiene que inspeccionar un elemento menos que el paso anterior.

[pic 1]
Figura 1 Un arreglo desordenado 

La Figura 1 contiene un arreglo desordenado. Debido a que este arreglo contiene ocho elementos, la ordenación por selección tomará siete pasos para ordenar los datos. Cada paso coloca un elemento en la posición que dejará un arreglo ordenado. Las siguientes dos figuras representan respectivamente los primeros dos pasos. En cada figura, la flecha rellena indica la posición que el paso está buscando llenar. Durante cada paso, el algoritmo busca el elemento más pequeño restante. El paso termina con el algoritmo intercambiando el elemento más pequeño en la posición bajo consideración.

[pic 2]
Figura 2 El primer paso 

Después del primer paso, el elemento más bajo es colocado en la primera posición del arreglo. El siguiente paso, ilustrado en la Figura 3, coloca el segundo elemento más bajo en la segunda posición del arreglo.

[pic 3]
Figura 3 El segundo paso

El algoritmo de ordenación por selección siempre hace un paso menos, que el número de elementos en el arreglo. Esto sucede aún si el arreglo original ya se encuentra ordenado. El algoritmo no tiene un mecanismo para detectar cuando el arreglo está ordenado, por lo que debe realizar todos los pasos requeridos. Una implantación en C++ de la ordenación por selección se muestra en el Listado 1.

 1:
 2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:

// Sorting using selection sort

template <typename T>

void selection_sort(vector& v) {

    for (unsigned int i = 0; i < v.size() - 1; i++) {

        unsigned int best = i;

        for (unsigned int j = i + 1; j < v.size(); j++) {

            if (v[j] < v[best]) {

                best = j;

            }

        }

        if (best != i) {

            T temp = v[i];

            v[i] = v[best];

            v[best] = temp;

        }

    }

}

Listado 1  Ordenación por Selección 

Algoritmos de Ordenación Rápida

  • Algoritmos de Ordenación Básica y Rápida

Ordenación Rápida (Quicksort)

El Algoritmo

Ordenación rápida o "quicksort" es un algoritmo de ordenación rápida que usa un enfoque divide-y-vencerás para la solución de problemas. A diferencia de los algoritmos de ordenación básica que ya hemos revisado, la ordenación rápida usa recursión. Dado un arreglo de elementos a ordenar, el algoritmo divide recursivamente el arreglo en arreglos más y más pequeños. Luego el algoritmo ordenación rápida ordena estos arreglos pequeños y combina los resultados para crear una versión ordenada del arreglo original. Debido a su naturaleza recursiva, la implantación del algoritmo ordenación rápida puede ser difícil de entender. Antes de examinar una implantación, consideramos la idea detrás del algoritmo.

...

Descargar como (para miembros actualizados)  txt (10.4 Kb)   pdf (338.4 Kb)   docx (138.2 Kb)  
Leer 7 páginas más »
Disponible sólo en Clubensayos.com