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) % 10ifadesi 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
expen büyük sayıyı geçtiğinde durur.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
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
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)