Metodos de ordenamiento

Páginas: 5 (1201 palabras) Publicado: 18 de septiembre de 2010
Arturo Díaz Pérez

Análisis y Complejidad de Algoritmos

Métodos de Ordenamiento
Arturo Díaz Pérez ¬ ® ¯ ° ± ² Tipos de ordenamiento y medidas de eficiencia Algoritmos básicos QuickSort HeapSort BinSort RadixSort Arboles de Decisión
Sorting-1

Análisis y Diseño de Algoritmos

Tipos de Ordenamiento
F Ordenamiento interno.
ß Se lleva a cabo completamente en memoria principal. Todos losobjetos que se ordenan caben en la memoria principal de la computadora

F Ordenamiento externo.
ß No cabe toda la información en memoria principal y es necesario ocupar memoria secundaria. El ordenamiento ocurre transfiriendo bloques de información a memoria principal en donde se ordena el bloque y este es regresado, ya ordenado, a memoria secundaria

Análisis y Diseño de AlgoritmosSorting-2

Análisis y Complejidad de Algoritmos

1

Arturo Díaz Pérez

Formulación

ß Registros: ß Llaves: ß Obtener la secuencia ß tal que,

r1, r2, ..., rn k1, k2, ..., kn

ri1 , ri2 ,..., rin
ki1 ≤ ki2 ≤ ... ≤ kin

Análisis y Diseño de Algoritmos

Sorting-3

Criterios de Eficiencia
F Criterios de eficiencia
ß El número de pasos ß El número de comparaciones entre llaves paraordenar n registros. /De utilidad cuando la comparación entre llaves es costosa ß El número de movimientos de registros que se requieren para ordenar n registros. /De utilidad cuando el movimiento de registros es costoso

Análisis y Diseño de Algoritmos

Sorting-4

Análisis y Complejidad de Algoritmos

2

Arturo Díaz Pérez

Métodos Simples de Ordenamiento
F Métodos simples
ß Método deBurbujeo ß Método de Inserción ß Método de Selección

Análisis y Diseño de Algoritmos

Sorting-5

Método de Burbujeo
25 1 3 25 2 12 3 25 3 19 12 3 25 6 2 19 1 2 9 6 6 19 6 9 9 9

12 19 6 25 9 12 9 25 12

12 19 12 19 25 19 19 25

void Burbujeo( int A[], int n) { int i,j; for( i=0; i < n-1; i++ ) for( j=n-1; j > i; j--) if( A[j] < A[j-1] ) Intercambia( &A[j], &A[j-1] ); }

Análisis yDiseño de Algoritmos

Sorting-6

Análisis y Complejidad de Algoritmos

3

Arturo Díaz Pérez

Método de Burbujeo
void Burbujeo( int A[], int n) { int i,j; for( i=0; i < n-1; i++ ) for( j=n-1; j > i; j--) if( A[j] < A[j-1] ) Intercambia( &A[j], &A[j-1] ); }
n −1 i =1 n −1 i =1

Comparaciones: Movimientos:

c = ∑ (n − i ) = ∑ i =

n(n − 1) n 2 n = − 2 2 2

M min = 0
M max = ∑ (n − i ) = ∑ i =
i =1 i =1 n −1 n −1

n(n − 1) n 2 n = − 2 2 2

Análisis y Diseño de Algoritmos

Sorting-7

Método de Selección
25 1 3 3 2 12 12 12 3 19 19 19 19 6 2 2 3 12 12 9 1 25 25 25 25 25 12 9 9 9 9 9 12 25 19 6 6 6 6 19 19 19 25
void Selección( int A[], int n ) { int i, j, imin; for( i=0; i < n-1; i++ ) { imin = i; for( j = i+1; j > n; j++ ) if( A[j] < A[imin] ) imin = j;intercambia( &A[i], &A[imin] ); } }

Análisis y Diseño de Algoritmos

Sorting-8

Análisis y Complejidad de Algoritmos

4

Arturo Díaz Pérez

Método de Selección
void Selección( int A[], int n ) { int i, j, imin; for( i=0; i < n-1; i++ ) { imin = i; for( j = i+1; j > n; j++ ) if( A[j] < A[imin] ) imin = j; intercambia( &A[i], &A[imin] ); } }

Comparaciones:

C = ∑n − i = ∑i =
i=1 i =1n−1

n−1

n(n − 1) n2 n = − 2 2 2

Movimientos:

M = n −1
Sorting-9

Análisis y Diseño de Algoritmos

Método de Inserción

25 3 3 3 2 1 1 1

3 25 12 12 3 2 2 2

12 12 25 19 12 3 3 3

19

2

1

9

6

void Inserción( int A[], int n ) { int i,j; for( i=1; i < n; i++ ) { j:= i; while( j > 0 && A[j] < A[j-1] ) { Intercambia( &A[j], &A[j-1] ); j-} } }

19 25 19 12 9 62 25 19 12 9 1 25 19 12 9 25 19 6 25

Análisis y Diseño de Algoritmos

Sorting-10

Análisis y Complejidad de Algoritmos

5

Arturo Díaz Pérez

Método de Inserción
void Inserción( int A[], int n ) { int i,j; for( i=1; i < n; i++ ) { j:= i; while( j > 0 && A[j] < A[j-1] ) { Intercambia( &A[j], &A[j-1] ); j-} } }

Comparaciones:

Cmin = n − 1
Cmax = ∑ ( n − i ) = ∑ i =
i =1 i...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Metodos de ordenamiento
  • MÉTODOS DE ORDENAMIENTO
  • Métodos De Ordenamiento
  • Métodos de ordenamiento
  • Metodos de ordenamiento
  • Metodos De Ordenamiento
  • Métodos De Ordenamiento
  • Metodos de ordenamiento

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS