Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de ordenación (I)
ción básica en la vida diaria.
El que uno sea más o menos há-
bil realizando pequeñas tareas
cotidianas está directamente re-
lacionado con el que las cosas
implicadas estén más o menos
ordenadas. La razón es obvia: es
Todos sabemos que los ordenadores, entre otras más sencillo buscar algo cuando
los objetos están ordenados.
cosas, sirven para ordenar. Pero ¿Cómo lo hacen?
¿Existen distintos modos de hacerlo? ¿Depende de Quién no ha pensado “Ten-
lo que tengamos que ordenar? ¿Es tan crítico elegir dría que ordenar los discos…” al
correctamente el método de ordenación? buscar un disco de música en la
estantería o, “Nunca recuerdo
si está por su nombre, su apelli-
En este artículo divulgativo se pretende dar do, o por su nombre de pila…”
respuesta a estas y a otras preguntas, mostrando al tratar de encontrar el teléfo-
como funcionan los algoritmos de ordenación más no de un amigo en nuestra
agenda. Encontrar una lata de
importantes y discutiendo las claves a tener en pimientos en la despensa tam-
cuenta para seleccionar el algoritmo más bién puede ser todo un reto. Es
apropiado para un problema concreto. muy fácil recordar otras fuentes
de pequeños problemas organi-
zativos en la vida cotidiana (me-
silla de noche, despacho, caja de
herramientas, botiquín, traste-
ro, etc.)
a
28 anales
de mecánica y electricidad
ALGORITMOS DE ORDENACIÓN (I)
programa están ordenados de FIGURA 1. LA ORDENACIÓN ES UNA OPERACIÓN BÁSICA EN LA VIDA DIARIA
alguna manera y que la gran
mayoría de los programas de
un cierto tamaño necesitan re-
alizar en algún momento una
ordenación.
aanales
de mecánica y electricidad 29
ALGORITMOS DE ORDENACIÓN (I)
a
30 anales
de mecánica y electricidad
ALGORITMOS DE ORDENACIÓN (I)
a anales
de mecánica y electricidad 31
ALGORITMOS DE ORDENACIÓN (I)
Bibliografía
[1] T.H. Cormen, C.E. Leiseron y R.L.
Rivest, Introduction to Algo-
rithms, The MIT Press, 1994.
[2] C.A.R. Hoare, “Quicksort”, The
Computer Journal, Vol. 5, No. 1,
pp. 10-15, Abril 1962.
[3] J. Jaja, “A perspective on Quick-
sort”, Computing in Science
and Engineering, pp. 43-49,
Enero-Febrero 2000.
[4] D.E. Knuth, El arte de programar
ordenadores. Volumen 3: Orde-
nación y búsqueda, Editorial Re-
A [i]: clave
Inserción Directa(A)
verté, 1986.
1 For i=2 to Tamaño(A)
[5] R. Sedgewick, Algoritmos en carta = A[i]; % selecciona última carta
C++, Editorial Díaz de Santos, j=i-1;
1995. 2 While (j>0 & carta < A[j]) i: Posición en el vector A
A[j+1]=A[j];
[6] M.A. Weiss, Estructuras de datos j=j-1;
en Java, Addison Wesley, 2000. Elementos de la zona ordenada
end 2
[7] N. Wirth, Algoritmos + estructu- A[j+1]=carta; % inserta la carta Elementos de la zona desordenada
end 1
ras de datos = programas, Edi-
ciones del Castillo, 1985.
a
32 anales
de mecánica y electricidad