Ordenación por Intercambio Directo

Anuncio
CLASIFICACIÓN POR INTERCAMBIO DIRECTO.−
(METODO DE LA BURBUJA).
−Comparar pares de elementos contiguos
−Intercambiarlos si deben ordenarse
pase i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8
a[1]
a[2]
a[3]
a[4]
a[5]
a[6]
a[7]
a[8]
44
55
12
42
94
18
06
67
06
44
55
12
42
94
18
67
06
12
44
55
18
42
94
67
06
12
18
44
55
42
67
94
06
12
18
42
44
55
67
94
06
12
18
42
44
55
67
94
06
12
18
42
44
55
67
94
06
12
18
42
44
55
67
94
orden
inicial
descripción:
Hacemos varios pases sobre el arreglo, y en cada
recorrido desplazamos el elemento más pequeño
del conjunto restante hacia el extremo final del
arreglo, es decir:
Se comienza comparando a[1] con a[2]; si están
desordenados , se intercambian entre sí . A con−
tinuación se compara a[2] con a[3], intercambian−
dolos si están desordenados.
PROCEDURE intercambioDirecto;
VAR
i,j:index;
x:item;
1
BEGIN
FOR i:=2 TO n DO
FOR j:=n TO i BY −1 DO
IF a[j−1]>a[j] THEN
(*intercambia*)
x:=a[j−1];
a[j−1]:=a[j];
a[j]:=x;
END
END
END
END ordenación_por_burbuja
Análisis:
En la lista i representa el número de pasada y j indica el orden del elemento de la lista, es decir:
pase i=1
a[1]
a[2]
a[3]
a[4]
a[5]
a[6]
a[7]
a[8]
44
55
12
42
94
18
06!
67!
j=n−1
comparación 1, ningún intercambio
a[1]
a[2]
a[3]
a[4]
a[5]
a[6]
44
55
12
42
94
18
44
55
12
42
94
06!
2
a[7]
a[8]
06
67
18!
67
j=n−2
2ªcomparación ,un intercambio
pasada i=1
pase i=2 i=2 i=2 i=2 i=2 i=2 i=2 i=2
a[1]
a[2]
a[3]
a[4]
a[5]
a[6]
a[7]
a[8]
44
55
12
42
94
18
06
67
j=n
44
55
12
42
94
06
18
67
j=n−1
44
55
12
42
06
94
18
67
j=n−2
44
55
12
06
42
94
18
67
j=n−3
44
55
06
12
42
94
18
67
j=n−4
44
06
55
12
42
94
18
67
j=n−5
06
44
55
12
42
94
18
67
j=n−6
06
44
55
12
42
94
18
67
j=n−7
Es decir, por cada pasada se necesitan 7 comparaciones siendo 8 los elementos; el número de comparaciones
totales viene dado
por;
Pasada Comparaciones
1 n−1
2 n−2
.. ..
n−1 1
3
Descargar