Menu
Coddy logo textTech

Pseudo Code

Lección 4 de 9 del curso Radix Sort - Serie de DSA de Coddy.

countingSortByDigit(array, exp):
   n = length(array)
   output = array of size n
   count = array of 10 zeros
   for each x in array:                 # tally each digit
      count[(x / exp) % 10] += 1
   for d from 1 to 9:                   # running totals -> positions
      count[d] += count[d - 1]
   for k from n-1 down to 0:            # place from the back (stable)
      d = (array[k] / exp) % 10
      count[d] -= 1
      output[count[d]] = array[k]
   return output

radixSort(array):
   max = largest value in array
   exp = 1
   while max / exp > 0:
      array = countingSortByDigit(array, exp)
      exp = exp * 10
  • exp es el valor posicional: 1 para las unidades, 10 para las decenas, 100 para las centenas. (x / exp) % 10 extrae ese dígito.
  • countingSortByDigit es un ordenamiento estable basado en un solo dígito: cuenta cuántas veces aparece cada dígito, convierte esos conteos en posiciones y luego coloca los elementos de atrás hacia adelante para preservar el orden.
  • radixSort simplemente ejecuta esa pasada una vez por cada dígito, deteniéndose cuando exp supera al número más grande.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Radix Sort - Serie de DSA