Yalnız Mesajı Göster

Sıralama Algoritmaları

Eski 10-29-2012   #7
Prof. Dr. Sinsi
Varsayılan

Sıralama Algoritmaları



Kova Sıralaması


Elemanlar önce kovalar arasında dağıtılır



Daha sonra her kovadaki elemanlar kendi içinde sıralanır

Kova Sıralaması (ya da sepet sıralaması), sıralanacak bir diziyi parçalara ayırarak sınırlı sayıdaki kovalara (ya da sepetlere) atan bir sıralama algoritmasıdır Ayrışma işleminin ardından her kova kendi içinde ya farklı bir algoritma kullanılarak ya da kova sıralamasını özyinelemeli olarak çağırarak sıralanır

Kova sıralaması aşağıdaki biçimde çalışır:

Başlangıçta boş olan bir "kovalar" dizisi oluştur

Asıl dizinin üzerinden geçerek her öğeyi ilgili aralığa denk gelen kovaya at

Boş olmayan bütün kovaları sırala

Boş olmayan kovalardaki bütün öğeleri yeniden diziye al

Sözde kodu

function bucket-sort(array, n) is

buckets ← new array of n empty lists

for i = 0 to (length(array)-1) do

insert array[i] into buckets[msbits(array[i], k)]

for i = 0 to n - 1 do

next-sort(buckets[i])

return the concatenation of buckets[0], , buckets[n-1]




Alıntı Yaparak Cevapla