Sie sind auf Seite 1von 9

Algoritmo de ordenamiento

Radix- Sort


HISTORIA
EE.UU., 1880: no se puede terminar el censo de la dcada anterior (en
concreto, no se llega a contar el nmero de habitantes solteros)
Herman Hollerith (empleado de la oficina del censo, de 20 aos de edad)
inventa una mquina tabuladora elctrica para resolver el problema; en
esencia es una implementacin fsica del radix sort 1890: se usan unas
100 mquinas de Hollerith para tabular las listas del censo de la dcada (un
operador experto procesaba 19.071 tarjetas en una jornada laboral de 65
horas, unas 49 tarjetas por minuto)
1896: Hollerith crea la empresa Tabulating Machine Company 1900:
Hollerith resuelve otra crisis federal inventando una nueva mquina con
alimentacin automtica de tarjetas (til, con ms o menos variaciones, hasta
1960)
1911: la empresa de Hollerith se fusiona con otras dos, creando la
Calculating-Tabulating- Recording Company (CTR)
1924: Thomas Watson cambia el nombre a la CTR y la llama
International Business Machines (IBM) El resto de la historia es bien
conocido hasta: 2000: crisis del recuento de votos en las Presidenciales El
resto de la historia es bien conocido
Radix Sort
Es un algoritmo de ordenamiento que
ordena enteros procesando sus dgitos
de forma individual. Como los enteros
pueden representar cadenas de
caracteres (por ejemplo, nombres o
fechas) y, especialmente, nmeros en
punto flotante especialmente
formateados, radix sort no est
limitado slo a los enteros.
Descripcin
Este mtodo se puede considerar como una
generalizacin de la clasificacin por urnas.
Consiste en hacer diversos montones de
fichas, cada uno caracterizado por tener en
sus componentes un mismo digito (letra si
es alfabtica) en la misma posicin; estos
montones se recogen en orden ascendente
y se reparte en montones segn el siguiente
digito de la clave.
Ejemplo
345, 721, 425, 572, 836, 467, 672, 194, 365,
236, 891, 746, 431, 834, 247, 529, 216, 389
Paso 1: atendiendo el digito de menor peso
(unidades);

216
431 365 746
891 672 834 425 236 247 389
721 572 194 345 836 467 529
1 2 4 5 6 7 9
Tomando los montones en orden, la secuencia de fichas quedaran:
721, 891, 431, 572, 672, 194, 834, 345, 425, 365, 836, 236,
746, 216, 467, 347, 529, 389.
Paso 2: distribuimos las secuencia de fichas en
montones respecto al segundo digito:
236
529 836 247
425 834 746 467 672 194
216 721 431 345 365 572 389 891
1 2 3 4 6 7 8 9
tomando de nuevo los montones en orden la
secuencia de fichas quedari asi:
216 721 425 529 431 834 866 236 345
746 247 365 467 572 672 389 891 194
Continuacin:
Paso 3: se distribuye de nuevo las fichas respecto
al tercer digito:

247 389 467 891
236 365 431 572 746 836
194 216 345 425 529 672 721 834
1 2 3 4 5 6 7 8
tomando de nuevo los montones en orden la
secuencia de fichas queda ya ordenada:
194 216 236 247 345 365 389 425 431
467 529 572 672 721 746 834 836 891
Clasificacin
el de dgito menos significativo (LSD)
el de dgito ms significativo (MSD).
Radix sort LSD procesa las
representaciones de enteros empezando por
el dgito menos significativo y movindose
hacia el dgito ms significativo.
Radix sort MSD trabaja en sentido
contrario.
Ejemplo
Vector original:
25 57 48 37 12 92 86 33
Asignamos los elementos en colas basadas en el dgito menos significativo de cada uno de ellos.
0:
1:
2: 12 92
3: 33
4:
5: 25
6: 86
7: 57 37
8: 48
9:
Despus de la primera pasada, la ordenacin queda:
12 92 33 25 86 57 37 48
Colas basadas en el dgito ms significativo.
0:
1: 12
2: 25
3: 33 37
4: 485: 57
6:
7:
8: 86
9: 92
Lista ordenada:
12 25 33 37 48 57 86 92

Das könnte Ihnen auch gefallen