Menu
Coddy logo textTech

Pseudo Code

Coddy'nin Radix Sort - DSA Serisi kursunda ders 4 / 9.

countingSortByDigit(array, exp):
   n = length(array)
   output = array of size n
   count = array of 10 zeros
   for each x in array:                 # her basamağı çetelele
      count[(x / exp) % 10] += 1
   for d from 1 to 9:                   # yürüyen toplamlar -> konumlar
      count[d] += count[d - 1]
   for k from n-1 down to 0:            # arkadan yerleştir (kararlı)
      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 basamak değeridir: birler için 1, onlar için 10, yüzler için 100. (x / exp) % 10 ifadesi ilgili basamağı çeker.
  • countingSortByDigit tek bir basamak üzerinde yapılan kararlı bir sıralamadır: her basamaktan kaç tane olduğunu sayar, bu sayıları konumlara dönüştürür ve ardından sırayı korumak için öğeleri arkadan öne doğru yerleştirir.
  • radixSort bu işlemi her basamak için bir kez çalıştırır ve exp en büyük sayıyı geçtiğinde durur.

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Radix Sort - DSA Serisi bölümündeki tüm dersler