martes, 16 de noviembre de 2010

Metodos de Ordenamiento de vectores

Tipos de ordenamientos:


Los 2 tipos de ordenamientos que se pueden realizar son: los internos y los externos.


Los internos:

Son aquellos en los que los valores a ordenar están en memoria principal, por lo que se asume que el tiempo que se requiere para acceder cualquier elemento sea el mismo (a[1], a[500], etc).


Los externos:

Son aquellos en los que los valores a ordenar están en memoria secundaria (disco, cinta, cilindro magnético, etc), por lo que se asume que el tiempo que se requiere para acceder a cualquier elemento depende de la última posición accesada (posición 1, posición 500, etc).

Eficiencia en tiempo de ejecución:

Una medida de eficiencias es:

Contar el # de comparaciones (C)

Contar el # de movimientos de items (M)

Estos están en función de el #(n) de items a ser ordenados.

Un "buen algoritmo" de ordenamiento requiere de un orden nlogn comparaciones.

La eficiencia de los algoritmo se mide por el número de comparaciones e intercambios que tienen que hacer, es decir, se toma n como el número de elementos que tiene el arreglo o vector a ordenar y se dice que un algoritmo realiza O(n2) comparaciones cuando compara n veces los n elementos, n x n = n2

Algoritmos de ordenamiento:

Internos:

1.

1. Inserción directa.

2. Inserción binaria.

2. Inserción directa.

1.

2. Selección directa.

3. Selección directa.

1. Burbuja.

2. Shake.

4. Intercambio directo.

1. Shell.

5. Inserción disminución incremental.

1. Heap.

2. Tournament.

6. Ordenamiento de árbol.

1.

2. Quick sort.

7. Sort particionado.

8. Merge sort.

9. Radix sort.

10. Cálculo de dirección.

Externos:

1. Straight merging.

2. Natural merging.

3. Balanced multiway merging.

4. Polyphase sort.

5. Distribution of initial runs.

No hay comentarios:

Publicar un comentario