You are on page 1of 8

ORDENACIN DE DATOS

1. Concepto. La ordenacin de datos consiste en reorganizar o permutar los elementos


de una lista de datos (e1, e2, e3,, en), de tal forma que los mismos queden en un orden
establecido que puede ser:
- Ascendente: e1 e2 e3,, en
- Descendente: e1 e2 e3,, en

2. Clasificacin. Entre los mtodos de ordenacin estn los siguientes:


Categoras Mtodos
Por intercambio
Directos Por insercin
Por seleccin directa
Shell
Ordenacin interna
Quicksort
Logartmicos Binsort
Redixort
Heapsort
Por mezcla directa (mergesort)
Ordenacin externa
Por mezcla equilibrada

ORDENACIN POR INTERCAMBIO O BURBUJA


Para realizar esta ordenacin, se tiene en cuenta lo siguiente:
El nmero de pasadas es de n 1, al final de las cuales los elementos se encuentran
en orden.
Dentro de cada pasada se comparan los pares de elementos adyacentes.
Si la condicin se cumple se produce el intercambio de los elementos, de la siguiente
manera:
aux = A( i )
A( i ) = A( i + 1)
A( i + 1) = aux

Ejemplo: ordenar en forma ascendente los siguientes datos:

A 5 2 4 8 1
(1) (2) (3) (4) (5)

Pasada 1:
A(1) > A(2) S, intercambiar 2 con 5 2 5 4 8 1
A(2) > A(3) S, intercambiar 4 con 5 2 4 5 8 1
A(3) > A(4) No 2 4 5 8 1
A(4) > A(5) S, intercambiar 1 con 8 2 4 5 1 8

UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013 1


Pasada 2:
A(1) > A(2) No 2 4 5 1 8
A(2) > A(3) No 2 4 5 1 8
A(3) > A(4) S, intercambiar 1 con 5 2 4 1 5 8
A(4) > A(5) No 2 4 1 5 8

Pasada 3:
A(1) > A(2) No 2 4 1 5 8
A(2) > A(3) S, intercambiar 1 con 4 2 1 4 5 8
A(3) > A(4) No 2 1 4 5 8
A(4) > A(5) No 2 1 4 5 8

Pasada 4:
A(1) > A(2) S, intercambiar 1 con 2 1 2 4 5 8
A(2) > A(3) No 1 2 4 5 8
A(3) > A(4) No 1 2 4 5 8
A(4) > A(5) No 1 2 4 5 8

INICIO
Algoritmo:
Leer: n

i = 1.
n
Leer: A(i)

i = 1n
1
j = 1n
1
F
A( j ) > A( j +
1) V
aux = A( j )
A( j ) = A( j + 1 )
A( j + 1 ) = aux

i = 1.
n
Escribir:
A(i)

FIN
UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013 2
ORDENACIN POR INSERCIN
Para implementar este mtodo se tiene en cuenta lo siguiente:
El nmero de pasadas es: n 1.
En la pasada 1, se comienza comparando el 2 elemento con el primero. Si las
condiciones se cumplen se intercambian los elementos.
En la pasada 2, se inicia comparando el 3er elemento con el 2 y luego ste con el
primero. Si las condiciones se dan se intercambian los elementos.
Se contina con esta lgica para el resto de pasadas.

Ejemplo: ordenar en forma ascendente los siguientes datos:

A 5 2 4 8 1
(1) (2) (3) (4) (5)

Pasada 1:
A(2) < A(1) S, intercambiar 2 con 5 2 5 4 8 1

Pasada 2:
A(3) < A(2) S, intercambiar 4 con 5 2 4 5 8 1
A(2) < A(1) No 2 4 5 8 1

Pasada 3:
A(4) < A(3) No 2 4 5 8 1
A(3) < A(2) No 2 4 5 8 1
A(2) < A(1) No 2 4 5 8 1

Pasada 4:
A(5) < A(4) S, intercambiar 1 con 8 2 4 5 1 8
A(4) < A(3) S, intercambiar 1 con 5 2 4 1 5 8
A(3) < A(2) S, intercambiar 1 con 4 2 1 4 5 8
A(2) < A(1) S, intercambiar 1 con 2 1 2 4 5 8

Trabajo en clase: elabora el algoritmo de mtodo por insercin

UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013 3


ORDENACIN POR SELECCIN DIRECTA
Para implementar este mtodo se tiene en cuenta lo siguiente:
El nmero de pasadas es: n 1
En la primera pasada, se selecciona al primer elemento como el menor.
Buscar a partir del siguiente elemento al menor del menor.
Terminada la pasada, si se actualiz el menor, ste debe intercambiarse con el
elemento seleccionado como menor al inicio de la pasada respectiva.
Para la segunda pasada se selecciona como menor al segundo elemento, y se repite el
proceso de la primera pasada.
Para el resto de pasadas se repite el proceso actualizando el menor.

Ejemplo: ordenar en forma ascendente los siguientes datos:

A 5 2 4 8 1
(1) (2) (3) (4) (5)

Pasada 1: menor = A(1) = 5


A(2) < menor, S, menor = 2 5 2 4 8 1
A(3) < menor, No 5 2 4 8 1
A(4) < menor, No 5 2 4 8 1
A(5) < menor, S, intercambiar 1 con 5 1 2 4 8 5

Pasada 2: menor = A(2) = 2


A(3) < menor, No 1 2 4 8 5
A(4) < menor, No 1 2 4 8 5
A(5) < menor, No 1 2 4 8 5

Pasada 3: menor = A(3) = 4


A(4) < menor, No 1 2 4 8 5
A(5) < menor, No 1 2 4 8 5

Pasada 1: menor = A(4) = 8


A(5) < menor, S, intercambiar 5 con 8 1 2 4 5 8

UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013 4


Algoritmo: INICIO

Leer: n

i = 1.
n
Leer: A(i)

i = 1n
1

men = A( i )
k=i

j=i+1n

A( j ) < F
men

V
men = A( j )
k=j

A( k ) = A( i )
A( i ) = men

i = 1.
n
Escribir:
A(i)

FIN

UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013 5


ORDENACIN POR EL MTODO SHELL
Consiste en lo siguiente:
- Agrupar los elementos que se encuentran a p posiciones de distancia entre s. La
posicin p = entero (n/2).
- Cada grupo se ordena por separado, intercambiando los elementos sino estn
ordenados.
- Para el siguiente grupo de comparaciones, se actualiza p = entero (p/2), tomando la
parte entera, se agrupan nuevamente los elementos. Teniendo en cuenta ahora que los
elementos se encuentran a p posiciones de distancia entre s.
- cada grupo se ordena por separado.
- As se contina dividiendo la lista.
- El ltimo grupo de comparaciones que se ejecute ser cuando el tamao del grupo es 1,
es decir p = 1.

Ejemplo: ordenar en forma ascendente los siguientes datos:

A 5 2 4 8 1
(1) (2) (3) (4) (5)

p = entero(n/2) = entero(5/2) = 2

A 5 2 4 8 1
(1) (2) (3) (4) (5)

A(1) > A(3), S, intercambiar 5 y 4 4 2 5 8 1


A(2) > A(4), No 4 2 5 8 1
A(3) > A(5), S, intercambiar 5 y 1 4 2 1 8 5

A(1) > A(3), S, intercambiar 4 y 1 1 2 4 8 5


A(2) > A(4), No 1 2 4 8 5
A(3) > A(5), No 1 2 4 8 5

p = entero (p/2) = entero (2/2) = 1

A 1 2 4 8 5
(1) (2) (3) (4) (5)

A(1) > A(2), No 1 2 4 8 5


A(2) > A(3), No 1 2 4 8 5
A(3) > A(4), No 1 2 4 8 5
A(4) > A(5), S, intercambiar 8 y 5 1 2 4 5 8

UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013 6


Trabajo en clase: Elabora el algoritmo del mtodo Shell
ORDENACIN POR QUICKSORT
Es un mtodo rpido y el ms eficiente que las anteriores, se basa en la divisin de
particiones de una lista a ordenar.
Consiste en lo siguiente:
- Se toma un elemento x cualquiera del arreglo, el cual se denominar pivote. Su eleccin
puede ser:
Que sea el primer elemento: x = A(1)
Que sea: x = A(entero(n/2))
Que sea: x = (A(1) + A(n))/2 (es la eleccin ms segura)
- Hacer una particin del arreglo en dos grupos: derecha e izquierda, de tal manera que
todos los elementos que se encuentran a su izquierda sean menores (o iguales) al
elemento pivote, y todos los elementos a su derecha sean mayores (o iguales) al pivote.
- Devolver el resultado de quicksort(I), con el pivote y el resultado de quicksort(D).
- Se repiten los pasos anteriores, pero con los conjuntos de datos que se encuentran a la
izquierda y derecha de la posicin x en el arreglo (recursivamente).
- Si el nmero de elementos es 1 0, termina el proceso.

Ejemplo: ordenar en forma ascendente los siguientes datos:

A 5 2 4 8 1
(1) (2) (3) (4) (5)

Seleccionar pivote: x = A(1) = 5

5 2 4 8 1

2 4 1 5 8

1 2 4 5 8

TRABAJO ENCARGADO GRUPAL:


Elabora el diagrama de flujo de los mtodos ordenacin QUICKSORT y MERGESORT.
Explicar los procesos de los mtodos e indicar la bibliografa utilizada.

UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013 7


UNSM: FISI: LP1-Ing. Humberto Valdera Rodrguez 2013 8

You might also like